From: panne Date: Tue, 25 Jan 2000 14:34:12 +0000 (+0000) Subject: [project @ 2000-01-25 14:34:07 by panne] X-Git-Tag: Approximately_9120_patches~5208 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=e648dc2caaf76f85b3976060d1cedc26c3521eac;p=ghc-hetmet.git [project @ 2000-01-25 14:34:07 by panne] Added more SIZEOF/ALIGNMENT tests --- diff --git a/configure.in b/configure.in index 77cd602..08e2f18 100644 --- a/configure.in +++ b/configure.in @@ -535,27 +535,43 @@ FPTOOLS_ALTZONE dnl ** does struct stat contain st_blksize? AC_STRUCT_ST_BLKSIZE +dnl ** do we have long longs? +FPTOOLS_C_LONG_LONG + dnl ** what are the sizes of various types dnl (these must come before GHC_CHECK_ALIGNMENT) -AC_CHECK_SIZEOF(char, 1) -AC_CHECK_SIZEOF(int, 4) -AC_CHECK_SIZEOF(unsigned int,4) -AC_CHECK_SIZEOF(float, 4) -AC_CHECK_SIZEOF(double, 8) -AC_CHECK_SIZEOF(long, 4) -AC_CHECK_SIZEOF(void *, 4) +AC_CHECK_SIZEOF(char, 1) +AC_CHECK_SIZEOF(unsigned char, 1) +AC_CHECK_SIZEOF(short, 2) +AC_CHECK_SIZEOF(unsigned short, 2) +AC_CHECK_SIZEOF(int, 4) +AC_CHECK_SIZEOF(unsigned int, 4) +AC_CHECK_SIZEOF(long, 4) +AC_CHECK_SIZEOF(unsigned long, 4) +if test "$fptools_cv_have_long_long" = yes; then +AC_CHECK_SIZEOF(long long, 8) +AC_CHECK_SIZEOF(unsigned long long, 8) +fi +AC_CHECK_SIZEOF(float, 4) +AC_CHECK_SIZEOF(double, 8) +AC_CHECK_SIZEOF(void *, 4) dnl ** what are alignment constraints on various types FPTOOLS_CHECK_ALIGNMENT(char) +FPTOOLS_CHECK_ALIGNMENT(unsigned char) +FPTOOLS_CHECK_ALIGNMENT(short) +FPTOOLS_CHECK_ALIGNMENT(unsigned short) FPTOOLS_CHECK_ALIGNMENT(int) -FPTOOLS_CHECK_ALIGNMENT(void *) -FPTOOLS_CHECK_ALIGNMENT(unsigned int) dnl redundant but harmless +FPTOOLS_CHECK_ALIGNMENT(unsigned int) FPTOOLS_CHECK_ALIGNMENT(long) +FPTOOLS_CHECK_ALIGNMENT(unsigned long) +if test "$fptools_cv_have_long_long" = yes; then +FPTOOLS_CHECK_ALIGNMENT(long long) +FPTOOLS_CHECK_ALIGNMENT(unsigned long long) +fi FPTOOLS_CHECK_ALIGNMENT(float) FPTOOLS_CHECK_ALIGNMENT(double) - -dnl ** do we have long longs? -FPTOOLS_C_LONG_LONG +FPTOOLS_CHECK_ALIGNMENT(void *) dnl ** can we open files in binary mode? FPTOOLS_O_BINARY diff --git a/mk/config.h.in b/mk/config.h.in index 86c0613..7ff942b 100644 --- a/mk/config.h.in +++ b/mk/config.h.in @@ -66,14 +66,35 @@ byte first (like Motorola and SPARC, unlike Intel and VAX). */ #undef WORDS_BIGENDIAN -/* Define to alignment constraint on characters */ +/* Define to alignment constraint on chars */ #undef ALIGNMENT_CHAR +/* Define to alignment constraint on unsigned chars */ +#undef ALIGNMENT_UNSIGNED_CHAR + +/* Define to alignment constraint on shorts */ +#undef ALIGNMENT_SHORT + +/* Define to alignment constraint on unsigned shorts */ +#undef ALIGNMENT_UNSIGNED_SHORT + /* Define to alignment constraint on ints */ #undef ALIGNMENT_INT -/* Define to alignment constraint on void pointers */ -#undef ALIGNMENT_VOID_P +/* Define to alignment constraint on unsigned ints */ +#undef ALIGNMENT_UNSIGNED_INT + +/* Define to alignment constraint on longs */ +#undef ALIGNMENT_LONG + +/* Define to alignment constraint on unsigned longs */ +#undef ALIGNMENT_UNSIGNED_LONG + +/* Define to alignment constraint on long longs */ +#undef ALIGNMENT_LONG_LONG + +/* Define to alignment constraint on unsigned long longs */ +#undef ALIGNMENT_UNSIGNED_LONG_LONG /* Define to alignment constraint on doubles */ #undef ALIGNMENT_DOUBLE @@ -81,11 +102,8 @@ /* Define to alignment constraint on floats */ #undef ALIGNMENT_FLOAT -/* Define to alignment constraint on doubles */ -#undef ALIGNMENT_LONG - -/* Define to alignment constraint on unsigned int */ -#undef ALIGNMENT_UNSIGNED_INT +/* Define to alignment constraint on void pointers */ +#undef ALIGNMENT_VOID_P /* Define if code lives before data in memory */ #undef CODE_BEFORE_DATA @@ -146,21 +164,39 @@ /* The number of bytes in a char. */ #undef SIZEOF_CHAR +/* The number of bytes in an unsigned char. */ +#undef SIZEOF_UNSIGNED_CHAR + +/* The number of bytes in a short. */ +#undef SIZEOF_SHORT + +/* The number of bytes in an unsigned short. */ +#undef SIZEOF_UNSIGNED_SHORT + /* The number of bytes in a int. */ #undef SIZEOF_INT +/* The number of bytes in an unsigned int. */ +#undef SIZEOF_UNSIGNED_INT + +/* The number of bytes in a long. */ +#undef SIZEOF_LONG + +/* The number of bytes in an unsigned long. */ +#undef SIZEOF_UNSIGNED_LONG + +/* The number of bytes in a long long. */ +#undef SIZEOF_LONG_LONG + +/* The number of bytes in an unsigned long long. */ +#undef SIZEOF_UNSIGNED_LONG_LONG + /* The number of bytes in a double. */ #undef SIZEOF_DOUBLE /* The number of bytes in a float. */ #undef SIZEOF_FLOAT -/* The number of bytes in a long. */ -#undef SIZEOF_LONG - -/* The number of bytes in a unsigned int. */ -#undef SIZEOF_UNSIGNED_INT - /* The number of bytes in a void *. */ #undef SIZEOF_VOID_P