Building on Linux ( 2.6.12 ), with gcc 4.5.3 :
> gcc expand.c
> expand.c: In function 'eval_op_mult':
> expand.c:3196:25: error: 'LLONG_MIN' undeclared (first use in this function)
> expand.c:3196:25: note: each undeclared identifier is reported only once for each function it appears in
> expand.c:3200:28: error: 'LLONG_MAX' undeclared (first use in this function)
> expand.c: In function 'expand_string_integer':
Those constants are declared in limits.h, which is included by exim.h,
but it (limits.h) has a guard which doesn't seem to be set by default:
> # ifdef __USE_ISOC99
>
> /* Minimum and maximum values a `signed long long int' can hold. */
> # define LLONG_MAX 9223372036854775807LL
> # define LLONG_MIN (-LLONG_MAX - 1LL)
Using make CC="gcc -std=gnu99", or with -std=c99, does not solve the
problem, in fact nothing can be compiled.
This didn't happen before (4.77, ...)
--
René Berber