On 17/11/13 18:11, Alexander von Gluck IV wrote: > * gl.h ensures gcc is 4.x or later before using > hidden visibility. This change matches that behaviour > and ensures better compatibility for older gcc versions. Hi Alexander,
AFAICS there are, currently, 11 cases of such ifdef spaghetti in mesa. IMHO we can easily compact all _but_ the following two into into a single header, in a similar fashion to the inline macro (c99_compat.h). include/GL/gl.h include/KHR/khrplatform.h -> bump the gcc version to 4? The gcc manual[1] indicates that the "new C++ visibility support" is available as of gcc4[2]. Although for the sake of me I cannot find the source of the original C visibility support. Hmm the original khrplatform.h header does not have any of the GCC checks. Chia-I Wu would you have any idea when C visibility support was added to gcc? Would you have any comment on bumping the version to 4.0 ? Would you mind ripping all this stuff out to a header rather than carrying it around any more ? How do other devs feel on the subject ? Thanks, Emil [1] http://gcc.gnu.org/wiki/Visibility [2] http://gcc.gnu.org/gcc-4.0/changes.html > --- > src/mapi/glapi/glapi.h | 2 +- > src/mapi/u_compiler.h | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/mapi/glapi/glapi.h b/src/mapi/glapi/glapi.h > index c764271..8e17dc7 100644 > --- a/src/mapi/glapi/glapi.h > +++ b/src/mapi/glapi/glapi.h > @@ -61,7 +61,7 @@ extern "C" { > # else > # define _GLAPI_EXPORT __declspec(dllimport) > # endif > -# elif defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) > +# elif (defined(__GNUC__) && __GNUC__ >= 4) || (defined(__SUNPRO_C) && > (__SUNPRO_C >= 0x590)) > # define _GLAPI_EXPORT __attribute__((visibility("default"))) > # else > # define _GLAPI_EXPORT > diff --git a/src/mapi/u_compiler.h b/src/mapi/u_compiler.h > index f376e97..66c961e 100644 > --- a/src/mapi/u_compiler.h > +++ b/src/mapi/u_compiler.h > @@ -11,7 +11,7 @@ > > /* Function visibility */ > #ifndef PUBLIC > -# if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) > +# if (defined(__GNUC__) && __GNUC__ >= 4) || (defined(__SUNPRO_C) && > (__SUNPRO_C >= 0x590)) > # define PUBLIC __attribute__((visibility("default"))) > # elif defined(_MSC_VER) > # define PUBLIC __declspec(dllexport) > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev