Go to the documentation of this file.
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)
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