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 #define JAS_UNREACHABLE() __builtin_unreachable()
81 #define JAS_LIKELY(x) __builtin_expect (!!(x), 1)
82 #define JAS_UNLIKELY(x) __builtin_expect (!!(x), 0)
84 #define JAS_DEPRECATED
85 #define JAS_ATTRIBUTE_CONST
86 #define JAS_ATTRIBUTE_PURE
87 #define JAS_FORCE_INLINE inline
88 #define JAS_UNREACHABLE()
89 #define JAS_LIKELY(x) (x)
90 #define JAS_UNLIKELY(x) (x)
94 #define JAS_ATTRIBUTE_DISABLE_USAN \
95 __attribute__((no_sanitize("undefined")))
96 #elif defined(__GNUC__) && __GNUC__ >= 6
97 #define JAS_ATTRIBUTE_DISABLE_USAN \
98 __attribute__((no_sanitize_undefined))
100 #define JAS_ATTRIBUTE_DISABLE_USAN