Hi Brian, Does this get rid of your warnings? (you'll need to regenerate the glapi_gentable.c)
diff --git a/src/mapi/glapi/gen/gl_gentable.py b/src/mapi/glapi/gen/gl_gentable.py index 0dfebf8..1681a80 100644 --- a/src/mapi/glapi/gen/gl_gentable.py +++ b/src/mapi/glapi/gen/gl_gentable.py @@ -42,7 +42,6 @@ header = """ #include "glapi.h" #include "glapitable.h" -#include "main/dispatch.h" struct _glapi_table * _glapi_create_table_from_handle(void *handle, const char *symbol_prefix) { @@ -50,7 +49,10 @@ _glapi_create_table_from_handle(void *handle, const char *symbol_prefix) { char symboln[512]; if(!disp) - return NULL; + return NULL; + + if(symbol_prefix == NULL) + symbol_prefix = ""; """ footer = """ @@ -61,7 +63,7 @@ footer = """ body_template = """ if(!disp->%(name)s) { snprintf(symboln, sizeof(symboln), "%%s%(entry_point)s", symbol_prefix); - SET_%(name)s(disp, dlsym(handle, symboln)); + disp->%(name)s = dlsym(handle, symboln); } """ On Jun 13, 2011, at 7:22 AM, Brian Paul wrote: > On 06/11/2011 11:18 PM, Jeremy Huddleston wrote: >> Module: Mesa >> Branch: master >> Commit: 85937f4c0d4a78d3a11e3c1fa6148640f2a9ad7b >> URL: >> http://cgit.freedesktop.org/mesa/mesa/commit/?id=85937f4c0d4a78d3a11e3c1fa6148640f2a9ad7b >> >> Author: Jeremy Huddleston<jerem...@apple.com> >> Date: Thu Jun 9 16:59:49 2011 -0700 >> >> glapi: Add API that can create a _glapi_table from a dlfcn handle >> >> Example usage: >> >> void *handle = dlopen(opengl_library_path, RTLD_LOCAL); >> struct _glapi_table *disp = _glapi_create_table_from_handle(handle, "gl"); >> >> Signed-off-by: Jeremy Huddleston<jerem...@apple.com> >> >> --- >> >> src/mapi/glapi/gen/Makefile | 9 +- >> src/mapi/glapi/gen/gl_gentable.py | 131 + >> src/mapi/glapi/glapi.h | 4 + >> src/mapi/glapi/glapi_gentable.c | 7804 >> +++++++++++++++++++++++++++++++++++++ >> src/mapi/glapi/sources.mak | 1 + >> 5 files changed, 7947 insertions(+), 2 deletions(-) >> >> Diff: >> http://cgit.freedesktop.org/mesa/mesa/diff/?id=85937f4c0d4a78d3a11e3c1fa6148640f2a9ad7b >> _______________________________________________ >> mesa-commit mailing list >> mesa-com...@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-commit > > > Jeremy, > > I'm getting a ton of warnings when glapi_gentable.c is compiled: > > glapi_gentable.c: In function ‘_glapi_create_table_from_handle’: > glapi_gentable.c:52:10: warning: ISO C forbids passing argument 2 of > ‘SET_NewLis > t’ between function pointer and ‘void *’ > ../../../src/mesa/main/dispatch.h:2055:20: note: expected ‘void (*)(GLuint, > GLe > num)’ but argument is of type ‘void *’ > glapi_gentable.c:58:10: warning: ISO C forbids passing argument 2 of > ‘SET_EndLis > t’ between function pointer and ‘void *’ > ../../../src/mesa/main/dispatch.h:2066:20: note: expected ‘void (*)(void)’ > but a > rgument is of type ‘void *’ > glapi_gentable.c:64:10: warning: ISO C forbids passing argument 2 of > ‘SET_CallLi > st’ between function pointer and ‘void *’ > ../../../src/mesa/main/dispatch.h:2077:20: note: expected ‘void (*)(GLuint)’ > but > argument is of type ‘void *’ > glapi_gentable.c:70:10: warning: ISO C forbids passing argument 2 of > ‘SET_CallLi > sts’ between function pointer and ‘void *’ > ../../../src/mesa/main/dispatch.h:2088:20: note: expected ‘void (*)(GLsizei, > GL > enum, const GLvoid *)’ but argument is of type ‘void *’ > glapi_gentable.c:76:10: warning: ISO C forbids passing argument 2 of > ‘SET_Delete > Lists’ between function pointer and ‘void *’ > ../../../src/mesa/main/dispatch.h:2099:20: note: expected ‘void (*)(GLuint, > GLs > izei)’ but argument is of type ‘void *’ > > > I think the generator needs to insert some casts to pass the right function > pointer type rather than void *. > > -Brian > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev