summaryrefslogtreecommitdiff
path: root/m4/fpending.m4
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2016-12-15 12:18:28 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2016-12-15 12:19:45 -0800
commit5942af614133000a42b3b11f963a30c2b987272e (patch)
tree4ae569cc45e976bc4c6dca75088df6fadcf00d99 /m4/fpending.m4
parentb80485f6810041a12c84953c59bb6cd956d358c6 (diff)
downloademacs-5942af614133000a42b3b11f963a30c2b987272e.tar.gz
Merge from gnulib
This incorporates: 2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too 2016-12-12 fpending: port to native Windows with MSVC * .gitignore: Do not ignore lib/stdio-impl.h. * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4: Copy from gnulib. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * lib/stdio-impl.h: New file, copied from gnulib. * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
Diffstat (limited to 'm4/fpending.m4')
-rw-r--r--m4/fpending.m467
1 files changed, 2 insertions, 65 deletions
diff --git a/m4/fpending.m4 b/m4/fpending.m4
index a446156df2f..f6776a83e69 100644
--- a/m4/fpending.m4
+++ b/m4/fpending.m4
@@ -1,4 +1,4 @@
-# serial 21
+# serial 22
# Copyright (C) 2000-2001, 2004-2016 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
@@ -11,7 +11,7 @@ dnl and Ulrich Drepper.
dnl Find out how to determine the number of pending output bytes on a stream.
dnl glibc (2.1.93 and newer) and Solaris provide __fpending. On other systems,
-dnl we have to grub around in the FILE struct.
+dnl we have to grub around in the (possibly opaque) FILE struct.
AC_DEFUN([gl_FUNC_FPENDING],
[
@@ -34,66 +34,3 @@ AC_DEFUN([gl_FUNC_FPENDING],
AC_CHECK_DECLS([__fpending], [], [], [$fp_headers])
fi
])
-
-AC_DEFUN([gl_PREREQ_FPENDING],
-[
- AC_CACHE_CHECK(
- [how to determine the number of pending output bytes on a stream],
- ac_cv_sys_pending_output_n_bytes,
- [
- for ac_expr in \
- \
- '# glibc2' \
- 'fp->_IO_write_ptr - fp->_IO_write_base' \
- \
- '# traditional Unix' \
- 'fp->_ptr - fp->_base' \
- \
- '# BSD' \
- 'fp->_p - fp->_bf._base' \
- \
- '# SCO, Unixware' \
- '(fp->__ptr ? fp->__ptr - fp->__base : 0)' \
- \
- '# QNX' \
- '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \
- \
- '# old glibc?' \
- 'fp->__bufp - fp->__buffer' \
- \
- '# old glibc iostream?' \
- 'fp->_pptr - fp->_pbase' \
- \
- '# emx+gcc' \
- 'fp->_ptr - fp->_buffer' \
- \
- '# Minix' \
- 'fp->_ptr - fp->_buf' \
- \
- '# Plan9' \
- 'fp->wp - fp->buf' \
- \
- '# VMS' \
- '(*fp)->_ptr - (*fp)->_base' \
- \
- '# e.g., DGUX R4.11; the info is not available' \
- 1 \
- ; do
-
- # Skip each embedded comment.
- case "$ac_expr" in '#'*) continue;; esac
-
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]],
- [[FILE *fp = stdin; (void) ($ac_expr);]])],
- [fp_done=yes]
- )
- test "$fp_done" = yes && break
- done
-
- ac_cv_sys_pending_output_n_bytes=$ac_expr
- ]
- )
- AC_DEFINE_UNQUOTED([PENDING_OUTPUT_N_BYTES],
- $ac_cv_sys_pending_output_n_bytes,
- [the number of pending output bytes on stream 'fp'])
-])