summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2013-11-08 06:33:43 -0700
committerEric Blake <eblake@redhat.com>2013-11-08 06:48:55 -0700
commit6fea8a94379432b41d19aa2e9701de0af4db244d (patch)
treeda24ce5882abe4836434c3d2f7c82497b0ae3f8a /m4
parent9f4d76b6042f8ed87009331f2ca0a5b7492027d5 (diff)
downloadgnulib-6fea8a94379432b41d19aa2e9701de0af4db244d.tar.gz
fpending: fix regression on DragonFly BSD
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 <eblake@redhat.com>
Diffstat (limited to 'm4')
-rw-r--r--m4/fpending.m418
1 files changed, 11 insertions, 7 deletions
diff --git a/m4/fpending.m4 b/m4/fpending.m4
index c8d9e8b7ba..669105b9b5 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],