On 09/28/11 01:52, Gary V. Vaughan wrote: > Might as well try to fix it right in gnulib though, and maybe in autoconf >> too if the latest release hasn't made it multi-call safe yet.
The simplest fix would be something like the patch at the end of this message. This matches common practice anyway; and if an application mistakenly omits the AC_PROG_CC_STDC there shouldn't be much of a problem in practice I expect. Another possibility would be for gnulib to redefine AC_PROG_CC_STDC so that it acts only once. That'd be more work, though. We could also look into fixing autoconf, but that would take longer and be trickier. I briefly discussed this a few days ago, when talking about the declaration-after-statement issue <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00367.html>. diff --git a/modules/stdarg b/modules/stdarg index 84d3e7b..ab3436e 100644 --- a/modules/stdarg +++ b/modules/stdarg @@ -13,7 +13,9 @@ dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode dnl for the builtin va_copy to work. With Autoconf 2.60 or later, dnl AC_PROG_CC_STDC arranges for this. With older Autoconf AC_PROG_CC_STDC dnl shouldn't hurt, though installers are on their own to set c99 mode. -AC_REQUIRE([AC_PROG_CC_STDC]) +dnl +dnl It is the package's responsibility to invoke AC_PROG_CC_STDC early on, +dnl before gl_EARLY. configure.ac: gl_STDARG_H