Thanks Eric. Just to confirm: I just built it without any issues on DragonFly BSD so it at least seems to fix the DragonFly Issue. :-)
On Friday 08 November 2013 06.58:39 Eric Blake wrote: > Commit 3f5bf99e claimed that it is safe to declare __fpending twice, > but in reality this caused a regression on Dragonfly BSD. Reported by > GW in <https://lists.gnu.org/archive/html/bug-m4/2013-11/msg00000.html>, > <https://lists.gnu.org/archive/html/bug-gnulib/2013-11/msg00022.html>. > > * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration. > * lib/fpending.h (__fpending): Don't declare twice. > > Signed-off-by: Eric Blake <ebl...@redhat.com> > --- > > I tested that this did not regress the Cygwin fix of commit 3f5bf99e, > and am pushing now even though I can't easily test that it fixes the > DragonFly issue. > > ChangeLog | 8 ++++++++ > lib/fpending.h | 2 +- > m4/fpending.m4 | 18 +++++++++++------- > 3 files changed, 20 insertions(+), 8 deletions(-) > > diff --git a/ChangeLog b/ChangeLog > index 3d0f0fe..976c624 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,11 @@ > +2013-11-08 Eric Blake <ebl...@redhat.com> > + > + fpending: fix regression on DragonFly BSD > + * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration. > + * lib/fpending.h (__fpending): Don't declare twice. > + Reported by GW in > + <https://lists.gnu.org/archive/html/bug-m4/2013-11/msg00000.html> > + > 2013-11-05 Jim Meyering <meyer...@fb.com> > > hash: relax license to LGPLv2+, for libguestfs > diff --git a/lib/fpending.h b/lib/fpending.h > index 30d67fc..c12871d 100644 > --- a/lib/fpending.h > +++ b/lib/fpending.h > @@ -24,6 +24,6 @@ > # include <stdio_ext.h> > #endif > > -#ifndef __fpending > +#if !HAVE_DECL_FPENDING > size_t __fpending (FILE *) _GL_ATTRIBUTE_PURE; > #endif > diff --git a/m4/fpending.m4 b/m4/fpending.m4 > index c8d9e8b..669105b 100644 > --- a/m4/fpending.m4 > +++ b/m4/fpending.m4 > @@ -1,4 +1,4 @@ > -# serial 20 > +# serial 21 > > # Copyright (C) 2000-2001, 2004-2013 Free Software Foundation, Inc. > # This file is free software; the Free Software Foundation > @@ -16,19 +16,23 @@ dnl we have to grub around in the FILE struct. > AC_DEFUN([gl_FUNC_FPENDING], > [ > AC_CHECK_HEADERS_ONCE([stdio_ext.h]) > + fp_headers=' > + #include <stdio.h> > + #if HAVE_STDIO_EXT_H > + # include <stdio_ext.h> > + #endif > + ' > AC_CACHE_CHECK([for __fpending], [gl_cv_func___fpending], > [ > AC_LINK_IFELSE( > - [AC_LANG_PROGRAM( > - [[#include <stdio.h> > - #if HAVE_STDIO_EXT_H > - # include <stdio_ext.h> > - #endif > - ]], > + [AC_LANG_PROGRAM([$fp_headers], > [[return ! __fpending (stdin);]])], > [gl_cv_func___fpending=yes], > [gl_cv_func___fpending=no]) > ]) > + if test $gl_cv_func___fpending = yes; then > + AC_CHECK_DECLS([__fpending], [], [], [$fp_headers]) > + fi > ]) > > AC_DEFUN([gl_PREREQ_FPENDING],