Loading...
Searching...
No Matches
Go to the documentation of this file.
66#include <jasper/jas_config.h>
71# define inline __inline
76# define JAS_DEPRECATED __attribute__((deprecated))
78# define JAS_DEPRECATED
82# define JAS_ATTRIBUTE_CONST __attribute__((const))
84# define JAS_ATTRIBUTE_CONST
88# define JAS_ATTRIBUTE_PURE __attribute__((pure))
90# define JAS_ATTRIBUTE_PURE
94# define JAS_FORCE_INLINE inline __attribute__((always_inline))
96# define JAS_FORCE_INLINE inline
100# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
101# define JAS_UNREACHABLE() __builtin_unreachable()
103# define JAS_UNREACHABLE()
105#elif defined(__clang__)
106# define JAS_UNREACHABLE() __builtin_unreachable()
107#elif defined(_MSC_VER)
108# define JAS_UNREACHABLE() __assume(0)
110# define JAS_UNREACHABLE()
114# define JAS_LIKELY(x) __builtin_expect (!!(x), 1)
116# define JAS_LIKELY(x) (x)
120# define JAS_UNLIKELY(x) __builtin_expect (!!(x), 0)
122# define JAS_UNLIKELY(x) (x)
125#if defined(__GNUC__) && __GNUC__ >= 6
126# define JAS_ATTRIBUTE_DISABLE_UBSAN \
127 __attribute__((no_sanitize_undefined))
128#elif defined(__clang__)
129# define JAS_ATTRIBUTE_DISABLE_UBSAN \
130 __attribute__((no_sanitize("undefined")))
132# define JAS_ATTRIBUTE_DISABLE_UBSAN
136#define jas_has_builtin(x) __has_builtin(x)
138#define jas_has_builtin(x) 0
145#define JAS_UNUSED(x) ((void) x)