Hi,
no real reason to add this tiny bit of C++11, and the related export
ungliness, at this late stage in the 4.8 release process. I would say,
let's just do it in the next ABI.
Committed.
Thanks,
Paolo.
/////////////////////////////
2013-02-11 Paolo Carlini <paolo.carl...@oracle.com>
PR libstdc++/56282
Revert:
2013-02-06 Edward Smith-Rowland <3dw...@verizon.net>
PR libstdc++/56193
* include/bits/basic_ios.h: Replace operator void*() const
with explicit operator bool() const in C++11 and greater.
* testsuite/27_io/basic_ios/pr56193.cc: New file.
Index: include/bits/basic_ios.h
===================================================================
--- include/bits/basic_ios.h (revision 195938)
+++ include/bits/basic_ios.h (working copy)
@@ -112,13 +112,8 @@
* This allows you to write constructs such as
* <code>if (!a_stream) ...</code> and <code>while (a_stream) ...</code>
*/
-#if __cplusplus >= 201103L
- explicit operator bool() const
- { return !this->fail(); }
-#else
operator void*() const
{ return this->fail() ? 0 : const_cast<basic_ios*>(this); }
-#endif
bool
operator!() const
Index: testsuite/27_io/basic_ios/pr56193.cc
===================================================================
--- testsuite/27_io/basic_ios/pr56193.cc (revision 195938)
+++ testsuite/27_io/basic_ios/pr56193.cc (working copy)
@@ -1,31 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++11" }
-
-// 2013-02-06 Edward Smith-Rowland <3dw...@verizon.net>
-//
-// Copyright (C) 2013 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <iostream>
-
-// PR libstdc++/56193
-void
-test01()
-{
- std::cout << std::cout; // { dg-error "cannot bind" }
-}
-// { dg-error "initializing argument" "" { target *-*-* } 602 }