[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
AC_C_CONST fails with -Werror
From: |
Shevek |
Subject: |
AC_C_CONST fails with -Werror |
Date: |
Thu, 06 Nov 2008 14:29:17 +0000 |
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.
- AC_C_CONST fails with -Werror,
Shevek <=