X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/c2ff0e90b8ce84d7b966622ffe0178303bb0a625..e2641e09cc0daf44f63f654230f72d22acf3a9af:/src/solarisfixes.h diff --git a/src/solarisfixes.h b/src/solarisfixes.h new file mode 100644 index 00000000..ce8e7b6f --- /dev/null +++ b/src/solarisfixes.h @@ -0,0 +1,21 @@ +/* Solaris specific fixes */ + +#if defined(__GNUC__) +#undef isnan +#define isnan(x) \ + __extension__({ __typeof (x) __x_a = (x); \ + __builtin_expect(__x_a != __x_a, 0); }) + +#undef isfinite +#define isfinite(x) \ + __extension__ ({ __typeof (x) __x_f = (x); \ + __builtin_expect(!isnan(__x_f - __x_f), 1); }) + +#undef isinf +#define isinf(x) \ + __extension__ ({ __typeof (x) __x_i = (x); \ + __builtin_expect(!isnan(__x_i) && !isfinite(__x_i), 0); }) + +#define u_int uint +#define u_int32_t uint32_t +#endif /* __GNUC__ */