Fix visibility warnings with MinGW32

This commit is contained in:
Behdad Esfahbod 2012-07-26 16:06:16 -04:00
parent ac2085d4b3
commit fa2dfcd560
2 changed files with 17 additions and 8 deletions

View File

@ -31,14 +31,19 @@
#include <stdlib.h>
#include <string.h>
#define HB_BEGIN_VISIBILITY _Pragma ("GCC visibility push(hidden)")
#define HB_END_VISIBILITY _Pragma ("GCC visibility pop")
#ifdef __cplusplus
#define HB_BEGIN_HEADER extern "C" { HB_BEGIN_VISIBILITY
#define HB_END_HEADER HB_END_VISIBILITY }
#if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__)
# define HB_BEGIN_VISIBILITY _Pragma ("GCC visibility push(hidden)")
# define HB_END_VISIBILITY _Pragma ("GCC visibility pop")
#else
#define HB_BEGIN_HEADER HB_BEGIN_VISIBILITY
#define HB_END_HEADER HB_END_VISIBILITY
# define HB_BEGIN_VISIBILITY
# define HB_END_VISIBILITY
#endif
#ifdef __cplusplus
# define HB_BEGIN_HEADER extern "C" { HB_BEGIN_VISIBILITY
# define HB_END_HEADER HB_END_VISIBILITY }
#else
# define HB_BEGIN_HEADER HB_BEGIN_VISIBILITY
# define HB_END_HEADER HB_END_VISIBILITY
#endif
HB_BEGIN_HEADER

View File

@ -33,7 +33,11 @@
HB_BEGIN_HEADER
#ifndef HB_INTERNAL
# define HB_INTERNAL __attribute__((visibility("hidden")))
# ifndef __MINGW32__
# define HB_INTERNAL __attribute__((__visibility__("hidden")))
# else
# define HB_INTERNAL
# endif
#endif
#ifndef NULL