My gcc (gcc3.3 from OS X 10.3) does have the #warning directive, but gts ./configure reports:
configure: WARNING: "C preprocessor does not support warning directive."
It appears the AC_TRY_COMPILE test for that is broken. In configure.in:
dnl checking for #warning cpp directive
AC_TRY_COMPILE(,
"{
#warning test
}",
AC_DEFINE(CPP_HAS_WARNING, 1,
[Define if C preprocessor supports warning directive.]),
AC_MSG_WARN(["C preprocessor does not support warning directive."]))
becomes in configure:
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
"{
#warning test
}"
;
return 0;
}
_ACEOF
That is, the quotes (I assume to pass the # as a literal and not a comment within configure.in itself) carry over into the test program.