2010/8/14 Cristian Morales Vega <cmorve69@yahoo.es>:
Also, I'm not sure about how the Single UNIX Specification, IEEE and The Open Group are mixed. But at http://www.opengroup.org/onlinepubs/009695399/functions/dlsym.html it says
"Due to the problem noted here, a future version may either add a new function to return function pointers, or the current interface may be deprecated in favor of two new functions: one that returns data pointers and the other that returns function pointers."
And at the header it says "IEEE Std 1003.1, 2004 Edition". Wikipedia says there exists POSIX:2008... so, there is any new function that returns function pointers?
This happens to me for using too much Google. The latest version is at http://www.opengroup.org/onlinepubs/9699919799/functions/dlsym.html What they finally did was adding this to POSIX 2008: "2.12.3 Pointer Types All function pointer types shall have the same representation as the type pointer to void. Conversion of a function pointer to void * shall not alter the representation. A void * value resulting from such a conversion can be converted back to the original function pointer type, using an explicit cast, without loss of information. Note: The ISO C standard does not require this, but it is required for POSIX conformance." So gcc is C99 compliant but not POSIX 2008 compliant (and gcc's man doesn't shows any posix option for -std). Someone feels like opening a bug report for this to gcc? I don't have the standards knowledge that will be needed when people starts to argue if POSIX should be dictating compilers behavior. And it seems the "void **" vs "void *" thing Philipp commented still applies... And http://gcc.gnu.org/ doesn't works right now, and interpret that as a fate's warning :-p -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org