| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
5.9.1 Particular Type Checks
These macros check for particular C types in ‘sys/types.h’, ‘stdlib.h’, ‘stdint.h’, ‘inttypes.h’ and others, if they exist.
The Gnulib stdint module is an alternate way to define many of
these symbols; it is useful if you prefer your code to assume a
C99-or-better environment. See section Gnulib.
- Macro: AC_TYPE_GETGROUPS
-
Define
GETGROUPS_Tto be whichever ofgid_torintis the base type of the array argument togetgroups.
- Macro: AC_TYPE_INT8_T
-
If ‘stdint.h’ or ‘inttypes.h’ does not define the type
int8_t, defineint8_tto a signed integer type that is exactly 8 bits wide and that uses two's complement representation, if such a type exists. If you are worried about porting to hosts that lack such a type, you can use the results of this macro in C89-or-later code as follows:#if HAVE_STDINT_H # include <stdint.h> #endif #if defined INT8_MAX || defined int8_t code using int8_t #else complicated alternative using >8-bit 'signed char' #endif
- Macro: AC_TYPE_INTMAX_T
-
If ‘stdint.h’ or ‘inttypes.h’ defines the type
intmax_t, defineHAVE_INTMAX_T. Otherwise, defineintmax_tto the widest signed integer type.
- Macro: AC_TYPE_INTPTR_T
-
If ‘stdint.h’ or ‘inttypes.h’ defines the type
intptr_t, defineHAVE_INTPTR_T. Otherwise, defineintptr_tto a signed integer type wide enough to hold a pointer, if such a type exists.
- Macro: AC_TYPE_LONG_DOUBLE
-
If the C compiler supports a working
long doubletype, defineHAVE_LONG_DOUBLE. Thelong doubletype might have the same range and precision asdouble.This macro is obsolescent, as current C compilers support
long double. New programs need not use this macro.
- Macro: AC_TYPE_LONG_DOUBLE_WIDER
-
If the C compiler supports a working
long doubletype with more range or precision than thedoubletype, defineHAVE_LONG_DOUBLE_WIDER.
- Macro: AC_TYPE_LONG_LONG_INT
-
If the C compiler supports a working
long long inttype, defineHAVE_LONG_LONG_INT. However, this test does not testlong long intvalues in preprocessor#ifexpressions, because too many compilers mishandle such expressions. See section Preprocessor Arithmetic.
- Macro: AC_TYPE_MBSTATE_T
-
Define
HAVE_MBSTATE_Tif<wchar.h>declares thembstate_ttype. Also, definembstate_tto be a type if<wchar.h>does not declare it.
- Macro: AC_TYPE_UID_T
-
Define
uid_tandgid_tto suitable types, if standard headers do not define them.
- Macro: AC_TYPE_UINT8_T
-
If ‘stdint.h’ or ‘inttypes.h’ does not define the type
uint8_t, defineuint8_tto an unsigned integer type that is exactly 8 bits wide, if such a type exists. This is likeAC_TYPE_INT8_T, except for unsigned integers.
- Macro: AC_TYPE_UINTMAX_T
-
If ‘stdint.h’ or ‘inttypes.h’ defines the type
uintmax_t, defineHAVE_UINTMAX_T. Otherwise, defineuintmax_tto the widest unsigned integer type.
- Macro: AC_TYPE_UINTPTR_T
-
If ‘stdint.h’ or ‘inttypes.h’ defines the type
uintptr_t, defineHAVE_UINTPTR_T. Otherwise, defineuintptr_tto an unsigned integer type wide enough to hold a pointer, if such a type exists.
- Macro: AC_TYPE_UNSIGNED_LONG_LONG_INT
-
If the C compiler supports a working
unsigned long long inttype, defineHAVE_UNSIGNED_LONG_LONG_INT. However, this test does not testunsigned long long intvalues in preprocessor#ifexpressions, because too many compilers mishandle such expressions. See section Preprocessor Arithmetic.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
