diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-03-28 18:28:47 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-03-28 18:28:47 +0000 |
commit | 3a2785797d761c76ad5f4b335eb145c9dbf580b8 (patch) | |
tree | 87d4905b8b4194c68ef7eadde4923aafabeee4eb /libstdc++-v3/acinclude.m4 | |
parent | 32351c925cead89ad3b7086725683ba4b2bc9e44 (diff) | |
download | gcc-3a2785797d761c76ad5f4b335eb145c9dbf580b8.tar.gz |
2003-03-28 Paolo Carlini <pcarlini@unitus.it>
Nathan Myers <ncm@cantrip.org>
PR libstdc++/9533
* include/bits/fstream.tcc (basic_filebuf<>::open): Don't
call underflow().
(basic_filebuf<>::showmanyc): Use the information provided
by codecvt and __basic_file<>::showmanyc_helper to implement
a non-trivial showmanyc.
* config/io/basic_file_stdio.h
(__basic_file<>::showmanyc_helper): New, declare.
* config/io/basic_file_stdio.cc
(__basic_file<>::showmanyc_helper): Define.
(__basic_file<>::_M_open_mode): Don't set O_NONBLOCK.
(__basic_file<char>::open): Don't call fcntl().
* acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG,
GLIBCPP_CHECK_POLL): New macros.
* configure.in: Call here.
* acconfig.h: Add #undefs for the corresponding symbols.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* config.h.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64978 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/acinclude.m4')
-rw-r--r-- | libstdc++-v3/acinclude.m4 | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 920eb8a7835..4f72efaf8cd 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -2106,6 +2106,45 @@ AC_DEFUN([AC_LIBTOOL_DLOPEN]) AC_DEFUN([AC_PROG_LD]) ]) +dnl +dnl Check whether S_ISREG (Posix) or S_IFREG is available in <sys/stat.h>. +dnl + +AC_DEFUN(GLIBCPP_CHECK_S_ISREG_OR_S_IFREG, [ + AC_CACHE_VAL(glibcpp_cv_S_ISREG, [ + AC_TRY_LINK([#include <sys/stat.h>], + [struct stat buffer; fstat(0, &buffer); S_ISREG(buffer.st_mode); ], + [glibcpp_cv_S_ISREG=yes], + [glibcpp_cv_S_ISREG=no]) + ]) + AC_CACHE_VAL(glibcpp_cv_S_IFREG, [ + AC_TRY_LINK([#include <sys/stat.h>], + [struct stat buffer; fstat(0, &buffer); S_IFREG & buffer.st_mode; ], + [glibcpp_cv_S_IFREG=yes], + [glibcpp_cv_S_IFREG=no]) + ]) + if test x$glibcpp_cv_S_ISREG = xyes; then + AC_DEFINE(HAVE_S_ISREG) + elif test x$glibcpp_cv_S_IFREG = xyes; then + AC_DEFINE(HAVE_S_IFREG) + fi +]) + +dnl +dnl Check whether poll is available in <poll.h>. +dnl + +AC_DEFUN(GLIBCPP_CHECK_POLL, [ + AC_CACHE_VAL(glibcpp_cv_POLL, [ + AC_TRY_COMPILE([#include <poll.h>], + [struct pollfd pfd[1]; pfd[0].events = POLLIN; poll(pfd, 1, 0); ], + [glibcpp_cv_POLL=yes], + [glibcpp_cv_POLL=no]) + ]) + if test x$glibcpp_cv_POLL = xyes; then + AC_DEFINE(HAVE_POLL) + fi +]) # Check whether LC_MESSAGES is available in <locale.h>. # Ulrich Drepper <drepper@cygnus.com>, 1995. |