mirror of
https://https.git.savannah.gnu.org/git/findutils.git
synced 2026-01-26 15:39:06 +00:00
67 lines
1.9 KiB
Plaintext
67 lines
1.9 KiB
Plaintext
#serial 1
|
|
|
|
dnl Just like AC_C_CONST from autoconf-2.12, but with an initializer
|
|
dnl for `charset x' and with
|
|
dnl AC_DEFINE(const, )
|
|
dnl changed to
|
|
dnl AC_DEFINE_UNQUOTED(const, [/* empty */])
|
|
dnl to avoid this warning:
|
|
dnl [...]/m4: Warning: Excess arguments to built-in `define' ignored
|
|
|
|
undefine([AC_C_CONST])
|
|
AC_DEFUN(AC_C_CONST,
|
|
[dnl This message is consistent in form with the other checking messages,
|
|
dnl and with the result message.
|
|
AC_CACHE_CHECK([for working const], ac_cv_c_const,
|
|
[AC_TRY_COMPILE(,
|
|
changequote(<<, >>)dnl
|
|
<<
|
|
/* Ultrix mips cc rejects this. */
|
|
typedef int charset[2]; const charset x = {0, 0};
|
|
/* SunOS 4.1.1 cc rejects this. */
|
|
char const *const *ccp;
|
|
char **p;
|
|
/* 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";
|
|
ccp = &g + (g ? g-g : 0);
|
|
/* HPUX 7.0 cc rejects these. */
|
|
++ccp;
|
|
p = (char**) ccp;
|
|
ccp = (char const *const *) p;
|
|
{ /* SCO 3.2v4 cc rejects this. */
|
|
char *t;
|
|
char const *s = 0 ? (char *) 0 : (char const *) 0;
|
|
|
|
*t++ = 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;
|
|
}
|
|
>>,
|
|
changequote([, ])dnl
|
|
ac_cv_c_const=yes, ac_cv_c_const=no)])
|
|
if test $ac_cv_c_const = no; then
|
|
AC_DEFINE_UNQUOTED(const, [/* empty */])
|
|
fi
|
|
])
|