autoconf: Preprocessor Arithmetic

1 
1 13.3 Preprocessor Arithmetic
1 ============================
1 
1 In C99, preprocessor arithmetic, used for `#if' expressions, must be
1 evaluated as if all signed values are of type `intmax_t' and all
1 unsigned values of type `uintmax_t'.  Many compilers are buggy in this
1 area, though.  For example, as of 2007, Sun C mishandles `#if LLONG_MIN
1 < 0' on a platform with 32-bit `long int' and 64-bit `long long int'.
1 Also, some older preprocessors mishandle constants ending in `LL'.  To
1 work around these problems, you can compute the value of expressions
1 like `LONG_MAX < LLONG_MAX' at `configure'-time rather than at
1 `#if'-time.
1