re PR libstdc++/43738 (basic_file_stdio.cc uses ioctl on a fd, but not available on mingw32)

2010-12-02  Kai Tietz  <kai.tietz@onevision.com>

        PR libstdc++/43738
        * config/io/basic_file_stdio.cc (showmanyc): Check _GLIBCXX_NO_IOCTL
        before use of ioctl.
        * config/os/mingw32/os_defines.h (_GLIBCXX_NO_IOCTL): New.

From-SVN: r167369
This commit is contained in:
Kai Tietz 2010-12-02 13:15:10 +00:00 committed by Kai Tietz
parent 8529e24b96
commit 266afdd60e
3 changed files with 15 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2010-12-02 Kai Tietz <kai.tietz@onevision.com>
PR libstdc++/43738
* config/io/basic_file_stdio.cc (showmanyc): Check _GLIBCXX_NO_IOCTL
before use of ioctl.
* config/os/mingw32/os_defines.h (_GLIBCXX_NO_IOCTL): New.
2010-12-01 François Dumont <francois.cppdevs@free.fr>
* testsuite/23_containers/deque/cons/2.cc: Fix to explicitely invoke

View file

@ -334,6 +334,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
streamsize
__basic_file<char>::showmanyc()
{
#ifndef _GLIBCXX_NO_IOCTL
#ifdef FIONREAD
// Pipes and sockets.
#ifdef _GLIBCXX_FIONREAD_TAKES_OFF_T
@ -344,7 +345,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
int __r = ioctl(this->fd(), FIONREAD, &__num);
if (!__r && __num >= 0)
return __num;
#endif
#endif
#endif
#ifdef _GLIBCXX_HAVE_POLL
// Cheap test.

View file

@ -60,4 +60,9 @@
// See libstdc++/37522.
#define _GLIBCXX_HAVE_BROKEN_VSWPRINTF 1
// See libstdc++/43738
// On native windows targets there is no ioctl function. And the existing
// ioctlsocket function doesn't work for normal file-descriptors.
#define _GLIBCXX_NO_IOCTL 1
#endif