fpending: port to recent Cygwin change to stdio_ext.h
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 11 Aug 2013 23:36:16 +0000 (16:36 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 11 Aug 2013 23:36:39 +0000 (16:36 -0700)
Reported by LRN in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00028.html>.
* lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
just declare __fpending unless it's a macro.
A duplicate decl shouldn't hurt.
* m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
call compiles and links, instead of separately checking for
decl and lib function.
* modules/fpending (configure-ac):
Adjust to fpending.m4's renaming of shell variable.

ChangeLog
lib/fpending.h
m4/fpending.m4
modules/fpending

index b850fb6..3c8eb4d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fpending: port to recent Cygwin change to stdio_ext.h
+       Reported by LRN in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00028.html>.
+       * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
+       just declare __fpending unless it's a macro.
+       A duplicate decl shouldn't hurt.
+       * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
+       call compiles and links, instead of separately checking for
+       decl and lib function.
+       * modules/fpending (configure-ac):
+       Adjust to fpending.m4's renaming of shell variable.
+
 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
 
        sys_time: port to OpenBSD
index bf40d37..4eca3f1 100644 (file)
 
 #include <stddef.h>
 #include <stdio.h>
+#if HAVE_STDIO_EXT_H
+# include <stdio_ext.h>
+#endif
 
-#if HAVE_DECL___FPENDING
-# if HAVE_STDIO_EXT_H
-#  include <stdio_ext.h>
-# endif
-#else
+#ifndef __fpending
 size_t __fpending (FILE *);
 #endif
index 8f58562..c8d9e8b 100644 (file)
@@ -1,4 +1,4 @@
-# serial 19
+# serial 20
 
 # Copyright (C) 2000-2001, 2004-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
@@ -16,14 +16,19 @@ dnl we have to grub around in the FILE struct.
 AC_DEFUN([gl_FUNC_FPENDING],
 [
   AC_CHECK_HEADERS_ONCE([stdio_ext.h])
-  AC_CHECK_FUNCS_ONCE([__fpending])
-  fp_headers='
-#     include <stdio.h>
-#     if HAVE_STDIO_EXT_H
-#      include <stdio_ext.h>
-#     endif
-'
-  AC_CHECK_DECLS([__fpending], , , $fp_headers)
+  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
+           ]],
+           [[return ! __fpending (stdin);]])],
+        [gl_cv_func___fpending=yes],
+        [gl_cv_func___fpending=no])
+    ])
 ])
 
 AC_DEFUN([gl_PREREQ_FPENDING],
index 0b14898..1375eb1 100644 (file)
@@ -10,7 +10,7 @@ Depends-on:
 
 configure.ac:
 gl_FUNC_FPENDING
-if test $ac_cv_func___fpending = no; then
+if test $gl_cv_func___fpending = no; then
   AC_LIBOBJ([fpending])
   gl_PREREQ_FPENDING
 fi