Go to the documentation of this file. 62 #ifndef JAS_COMPILER_H 63 #define JAS_COMPILER_H 66 #include <jasper/jas_config.h> 71 #define inline __inline 76 #define JAS_DEPRECATED __attribute__((deprecated)) 77 #define JAS_ATTRIBUTE_CONST __attribute__((const)) 78 #define JAS_ATTRIBUTE_PURE __attribute__((pure)) 79 #define JAS_FORCE_INLINE inline __attribute__((always_inline)) 80 #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) 81 #define JAS_UNREACHABLE() __builtin_unreachable() 83 #define JAS_UNREACHABLE() 85 #define JAS_LIKELY(x) __builtin_expect (!!(x), 1) 86 #define JAS_UNLIKELY(x) __builtin_expect (!!(x), 0) 88 #define JAS_DEPRECATED 89 #define JAS_ATTRIBUTE_CONST 90 #define JAS_ATTRIBUTE_PURE 91 #define JAS_FORCE_INLINE inline 92 #define JAS_UNREACHABLE() 93 #define JAS_LIKELY(x) (x) 94 #define JAS_UNLIKELY(x) (x) 98 #define JAS_ATTRIBUTE_DISABLE_USAN \ 99 __attribute__((no_sanitize("undefined"))) 100 #elif defined(__GNUC__) && __GNUC__ >= 6 101 #define JAS_ATTRIBUTE_DISABLE_USAN \ 102 __attribute__((no_sanitize_undefined)) 104 #define JAS_ATTRIBUTE_DISABLE_USAN 108 #define jas_has_builtin(x) __has_builtin(x) 110 #define jas_has_builtin(x) 0