Go to the documentation of this file.
12 #ifndef __SYS_Inline__
13 #define __SYS_Inline__
23 #if defined(__clang__)
25 #define SYS_STATIC_INLINE inline
26 #elif defined(_MSC_VER)
28 #define SYS_STATIC_INLINE static inline
29 #elif defined(__GNUC__)
31 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
32 #define SYS_STATIC_INLINE static inline
34 #define SYS_STATIC_INLINE inline
40 #if defined(GCC4) || defined(__clang__)
41 #define SYS_FORCE_INLINE __attribute__ ((always_inline)) inline
42 #elif defined(_MSC_VER)
43 #define SYS_FORCE_INLINE __forceinline
45 #define SYS_FORCE_INLINE inline
48 #define SYS_STATIC_FORCE_INLINE static SYS_FORCE_INLINE
53 #if !defined(__GNUC__) || SYS_IS_GCC_GE(4, 4)
54 #define SYS_SAFE_FORCE_INLINE SYS_FORCE_INLINE
56 #define SYS_SAFE_FORCE_INLINE inline
61 #define SYS_NO_INLINE __attribute__ ((noinline))
62 #elif defined(_MSC_VER)
63 #define SYS_NO_INLINE __declspec(noinline)
68 #endif // __SYS_Inline__