Go to the documentation of this file.
7#if defined(_WIN32) || defined(_WIN64)
8 #define NC_PLATFORM_WINDOWS
9#elif defined(__linux__)
10 #define NC_PLATFORM_LINUX
14 #define NC_COMPILER_MSVC
15#elif defined(__GNUC__)
16 #define NC_COMPILER_GCC
19#if defined(NC_COMPILER_MSVC)
20 #define NC_FORCE_INLINE __forceinline
21 #define NC_NO_INLINE __declspec(noinline)
22#elif defined(NC_COMPILER_GCC)
23 #define NC_FORCE_INLINE __inline__ __attribute__((always_inline))
24 #define NC_NO_INLINE __attribute__((noinline))
27#if defined(NC_COMPILER_MSVC)
28 #define NC_PRAGMA(x) __pragma(x)
29 #define NC_DISABLE_WARNING_PUSH NC_PRAGMA(warning (push))
30 #define NC_DISABLE_WARNING_POP NC_PRAGMA(warning (pop))
31 #define NC_DISABLE_WARNING_MSVC(w) NC_PRAGMA(warning (disable : w))
33 #define NC_DISABLE_WARNING_MSVC(w)
36#if defined(NC_COMPILER_GCC)
37 #define NC_PRAGMA(x) _Pragma(#x)
38 #define NC_DISABLE_WARNING_PUSH NC_PRAGMA(GCC diagnostic push)
39 #define NC_DISABLE_WARNING_POP NC_PRAGMA(GCC diagnostic pop)
40 #define NC_DISABLE_WARNING_GCC(w) NC_PRAGMA(GCC diagnostic ignored w)
42 #define NC_DISABLE_WARNING_GCC(w)