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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167369
138bc75d-0d04-0410-961f-
82ee72b054a4
+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
streamsize
__basic_file<char>::showmanyc()
{
+#ifndef _GLIBCXX_NO_IOCTL
#ifdef FIONREAD
// Pipes and sockets.
#ifdef _GLIBCXX_FIONREAD_TAKES_OFF_T
int __r = ioctl(this->fd(), FIONREAD, &__num);
if (!__r && __num >= 0)
return __num;
-#endif
+#endif
+#endif
#ifdef _GLIBCXX_HAVE_POLL
// Cheap test.
// 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