1 //----------------------------------------------------------------------------- 2 // Definitions. 3 //----------------------------------------------------------------------------- 4 #ifndef SUITE_DEFINITIONS_H 5 #define SUITE_DEFINITIONS_H 6 7 #ifdef _MSC_VER 8 #define forceinline __forceinline 9 #define OPTIMIZE_OFF __pragma(optimize("", off)) 10 #define OPTIMIZE_ON __pragma(optimize("", on)) 11 #elif defined(__clang__) 12 #if __has_attribute(__always_inline__) 13 #define forceinline inline __attribute__((__always_inline__)) 14 #else 15 #define forceinline inline 16 #endif 17 #define OPTIMIZE_OFF _Pragma("clang optimize off") 18 #define OPTIMIZE_ON _Pragma("clang optimize on") 19 #elif defined(__GNUC__) 20 #define forceinline inline __attribute__((__always_inline__)) 21 #define OPTIMIZE_OFF _Pragma("GCC optimize off") 22 #define OPTIMIZE_ON _Pragma("GCC optimize on") 23 #else 24 #define forceinline inline 25 #define OPTIMIZE_OFF 26 #define OPTIMIZE_ON 27 #error 28 #endif 29 30 #endif // SUITE_DEFINITIONS_H 31