# define PURE
# endif
-# if defined(__i386__) && defined(__GNUC__)
+# if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__)
# define FASTCALL __attribute__((fastcall))
# else
# define FASTCALL
# endif
-# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)
+# if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__)
# define INTERNAL __attribute__((visibility("internal")))
# else
# define INTERNAL
extern INTERNAL PURE FASTCALL GLint __glPointParameterfvEXT_size(GLenum);
extern INTERNAL PURE FASTCALL GLint __glPointParameterivNV_size(GLenum);
-# undef INTERNAL
# undef PURE
# undef FASTCALL
+# undef INTERNAL
#endif /* !defined( _INDIRECT_SIZE_H_ ) */