Hi, If CFLAGS includes -Werror, AC_C_CONST fails because the sample file fails to initialize some variables before use, generating warnings.
The problem is relatively simple to fix, just set some appropriate things to 0: configure:22157: checking for an ANSI C-conforming const configure:22232: gcc -c -Werror -Wall -g -O1 -Wall conftest.c >&5 cc1: warnings being treated as errors conftest.c: In function 'main': conftest.c:81: warning: 't' is used uninitialized in this function conftest.c:97: warning: 'b' is used uninitialized in this function conftest.c:103: warning: 'cs[0]' is used uninitialized in this function | int | main () | { | /* FIXME: Include the comments suggested by Paul. */ | #ifndef __cplusplus | /* Ultrix mips cc rejects this. */ | typedef int charset[2]; | const charset cs; | /* SunOS 4.1.1 cc rejects this. */ | char const *const *pcpcc; | char **ppc; | /* NEC SVR4.0.2 mips cc rejects this. */ | struct point {int x, y;}; | static struct point const zero = {0,0}; | /* AIX XL C 1.02.0.0 rejects this. | It does not let you subtract one const X* pointer from another in | an arm of an if-expression whose if-part is not a constant | expression */ | const char *g = "string"; | pcpcc = &g + (g ? g-g : 0); | /* HPUX 7.0 cc rejects these. */ | ++pcpcc; | ppc = (char**) pcpcc; | pcpcc = (char const *const *) ppc; | { /* SCO 3.2v4 cc rejects this. */ | char *t; | char const *s = 0 ? (char *) 0 : (char const *) 0; | | *t++ = 0; | if (s) return 0; | } | { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ | int x[] = {25, 17}; | const int *foo = &x[0]; | ++foo; | } | { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ | typedef const int *iptr; | iptr p = 0; | ++p; | } | { /* AIX XL C 1.02.0.0 rejects this saying | "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ | struct s { int j; const int *ap[3]; }; | struct s *b; b->j = 5; | } | { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ | const int foo = 10; | if (!foo) return 0; | } | return !cs[0] && !zero.x; | #endif | | ; | return 0; | } Thank you. S.