GNU Info

Info Node: (autoconf.info)C Compiler Characteristics

(autoconf.info)C Compiler Characteristics


Next: Fortran 77 Compiler Characteristics Prev: Typedefs Up: Existing Tests
Enter node , (file) or (file)node

C Compiler Characteristics
==========================

   The following macros check for C compiler or machine architecture
features.  To check for characteristics not listed here, use
`AC_TRY_COMPILE' (Note: Examining Syntax) or `AC_TRY_RUN' (Note: Run
Time)

 - Macro: AC_C_BIGENDIAN
     If words are stored with the most significant byte first (like
     Motorola and SPARC, but not Intel and VAX, CPUs), define
     `WORDS_BIGENDIAN'.

 - Macro: AC_C_CONST
     If the C compiler does not fully support the keyword `const',
     define `const' to be empty.  Some C compilers that do not define
     `__STDC__' do support `const'; some compilers that define
     `__STDC__' do not completely support `const'.  Programs can simply
     use `const' as if every C compiler supported it; for those that
     don't, the `Makefile' or configuration header file will define it
     as empty.

 - Macro: AC_C_INLINE
     If the C compiler supports the keyword `inline', do nothing.
     Otherwise define `inline' to `__inline__' or `__inline' if it
     accepts one of those, otherwise define `inline' to be empty.

 - Macro: AC_C_CHAR_UNSIGNED
     If the C type `char' is unsigned, define `__CHAR_UNSIGNED__',
     unless the C compiler predefines it.

 - Macro: AC_C_LONG_DOUBLE
     If the C compiler supports the `long double' type, define
     `HAVE_LONG_DOUBLE'.  Some C compilers that do not define
     `__STDC__' do support the `long double' type; some compilers that
     define `__STDC__' do not support `long double'.

 - Macro: AC_C_STRINGIZE
     If the C preprocessor supports the stringizing operator, define
     `HAVE_STRINGIZE'.  The stringizing operator is `#' and is found in
     macros such as this:

          #define x(y) #y

 - Macro: AC_CHECK_SIZEOF (TYPE [, CROSS-SIZE])
     Define `SIZEOF_UCTYPE' to be the size in bytes of the C (or C++)
     builtin type TYPE, e.g. `int' or `char *'.  If `type' is unknown
     to the compiler, it gets a size of 0.  UCTYPE is TYPE, with
     lowercase converted to uppercase, spaces changed to underscores,
     and asterisks changed to `P'.  If cross-compiling, the value
     CROSS-SIZE is used if given, otherwise `configure' exits with an
     error message.

     For example, the call
          AC_CHECK_SIZEOF(int *)

     defines `SIZEOF_INT_P' to be 8 on DEC Alpha AXP systems.

 - Macro: AC_INT_16_BITS
     If the C type `int' is 16 bits wide, define `INT_16_BITS'.  This
     macro is obsolete; it is more general to use
     `AC_CHECK_SIZEOF(int)' instead.

 - Macro: AC_LONG_64_BITS
     If the C type `long int' is 64 bits wide, define `LONG_64_BITS'.
     This macro is obsolete; it is more general to use
     `AC_CHECK_SIZEOF(long)' instead.


automatically generated by info2www version 1.2.2.9