diff options
author | Mark Adler <madler@alumni.caltech.edu> | 2012-02-12 19:28:06 -0800 |
---|---|---|
committer | Mark Adler <madler@alumni.caltech.edu> | 2012-02-12 19:28:06 -0800 |
commit | 5bbdc122ad60dfd0bc219c9c10aab66822c0b099 (patch) | |
tree | fb790fd6aaa2e543c1cfe104c518eab4be4461b1 /zutil.h | |
parent | 72e2c8f088074d9f0c7c8dfb007abc1287ddbb97 (diff) | |
download | zlib-5bbdc122ad60dfd0bc219c9c10aab66822c0b099.tar.gz |
Don't use built-in byte swaps if compiled solo.
Diffstat (limited to 'zutil.h')
-rw-r--r-- | zutil.h | 21 |
1 files changed, 12 insertions, 9 deletions
@@ -245,15 +245,18 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ #define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr)) #define TRY_FREE(s, p) {if (p) ZFREE(s, p);} -/* Reverse the bytes in a 64-bit or 32-bit or 16-bit value */ -#if defined(_WIN32) && (_MSC_VER >= 1300) && (defined(_M_IX86) || defined(_M_X64)) -# include <stdlib.h> -# pragma intrinsic(_byteswap_ulong) -# define ZSWAP32(q) _byteswap_ulong(q) -#elif defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) -# include <byteswap.h> -# define ZSWAP32(q) __builtin_bswap32(q) -#else +/* Reverse the bytes in a 32-bit value */ +#ifndef Z_SOLO +# if defined(_WIN32) && (_MSC_VER >= 1300) && (defined(_M_IX86) || defined(_M_X64)) +# include <stdlib.h> +# pragma intrinsic(_byteswap_ulong) +# define ZSWAP32(q) _byteswap_ulong(q) +# elif defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) +# include <byteswap.h> +# define ZSWAP32(q) __builtin_bswap32(q) +# endif +#endif +#ifndef ZSWAP32 # define ZSWAP32(q) ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \ (((q) & 0xff00) << 8) + (((q) & 0xff) << 24)) #endif |