Added EV_PRAGMA and EV_WARNING_* macros

Signed-off-by: Robear Selwans <robear.selwans@outlook.com>
This commit is contained in:
2022-01-30 15:23:32 +00:00
parent c373f03490
commit 88e2393000

View File

@@ -37,7 +37,12 @@
*/ */
#define EV_UNALIGNED #define EV_UNALIGNED
#define EV_PRAGMA(...) _Pragma(EV_STRINGIZE(__VA_ARGS__))
#if ( EV_CC_MSVC ) #if ( EV_CC_MSVC )
# define EV_WARNING_DISABLE(...) EV_UNIMPLEMENTED()
# define EV_WARNING_PUSH() EV_UNIMPLEMENTED()
# define EV_WARNING_POP() EV_UNIMPLEMENTED()
# define EV_EXPORT __declspec(dllexport) # define EV_EXPORT __declspec(dllexport)
# define EV_IMPORT __declspec(dllimport) # define EV_IMPORT __declspec(dllimport)
# define EV_UNUSED # define EV_UNUSED
@@ -47,6 +52,14 @@
# define EV_IMPORT # define EV_IMPORT
# define EV_UNUSED __attribute__((unused)) # define EV_UNUSED __attribute__((unused))
# define EV_FORCEINLINE inline __attribute__((always_inline)) # define EV_FORCEINLINE inline __attribute__((always_inline))
# if ( EV_CC_GCC )
# define EV_PRAGMA_CC_NAME GCC
# elif ( EV_CC_CLANG )
# define EV_PRAGMA_CC_NAME clang
# endif
# define EV_WARNING_DISABLE(w) EV_PRAGMA(EV_PRAGMA_CC_NAME diagnostic ignored "-W"w)
# define EV_WARNING_PUSH() EV_PRAGMA(EV_PRAGMA_CC_NAME diagnostic push)
# define EV_WARNING_POP() EV_PRAGMA(EV_PRAGMA_CC_NAME diagnostic pop)
#else #else
# error "Unknown Compiler" # error "Unknown Compiler"
#endif #endif