Remove runtime check in configure for four-byte integer type.

That didn't work when cross-compiling.  Simply rely on limits.h.
If a compiler does not have limits.h, then zconf.h.in should be
modified to define Z_U4 as an unsiged four-byte integer type in
order for crc32() to be fast.

This also simplifies and makes more portable to check for a four-
byte type using limits.h.
This commit is contained in:
Mark Adler
2013-03-23 22:27:43 -07:00
parent 66fcefbb2f
commit 03ff48cc67
4 changed files with 15 additions and 59 deletions

View File

@@ -392,20 +392,14 @@ typedef uLong FAR uLongf;
typedef Byte *voidp;
#endif
/* ./configure may #define Z_U4 here */
#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
# include <limits.h>
# if (UINT_MAX == 0xffffffffUL)
# if (UINT_MAX == 4294967295)
# define Z_U4 unsigned
# else
# if (ULONG_MAX == 0xffffffffUL)
# define Z_U4 unsigned long
# else
# if (USHRT_MAX == 0xffffffffUL)
# define Z_U4 unsigned short
# endif
# endif
# elif (ULONG_MAX == 4294967295)
# define Z_U4 unsigned long
# elif (USHRT_MAX == 4294967295)
# define Z_U4 unsigned short
# endif
#endif