aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo@gcc.gnu.org>2013-02-11 10:30:43 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2013-02-11 10:30:43 +0000
commit3b424b30be6a93cfc68df6f77e0aa1ce673d71fe (patch)
treebe0673180897842cf5edd597377fcb675d1ecf7b
parentadb1c4d1e0511ae9dbfa4da277e18e9394f792d5 (diff)
downloadgcc-3b424b30be6a93cfc68df6f77e0aa1ce673d71fe.zip
gcc-3b424b30be6a93cfc68df6f77e0aa1ce673d71fe.tar.gz
gcc-3b424b30be6a93cfc68df6f77e0aa1ce673d71fe.tar.bz2
re PR libstdc++/56282 (std::basic_ios<char> broken with -std=c++11 (undefined reference))
2013-02-11 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/56282 Revert: 2013-02-06 Edward Smith-Rowland <3dw4rd@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. From-SVN: r195939
-rw-r--r--libstdc++-v3/ChangeLog35
-rw-r--r--libstdc++-v3/include/bits/basic_ios.h5
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/pr56193.cc31
3 files changed, 23 insertions, 48 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 32b391e..1768b9b 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,14 @@
+2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/56282
+ Revert:
+ 2013-02-06 Edward Smith-Rowland <3dw4rd@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.
+
2013-02-10 François Dumont <fdumont@gcc.gnu.org>
Jonathan Wakely <jwakely.gcc@gmail.com>
@@ -30,20 +41,20 @@
PR libstdc++/56216
* include/tr1/special_function_util.h: Remove spurious const
from numeric arguments.
- * include/tr1/riemann_zeta.tcc: Ditto.
- * include/tr1/exp_integral.tcc: Ditto.
- * include/tr1/bessel_function.tcc: Ditto.
- * include/tr1/hypergeometric.tcc: Ditto.
- * include/tr1/modified_bessel_func.tcc: Ditto.
- * include/tr1/poly_laguerre.tcc: Ditto.
- * include/tr1/gamma.tcc: Ditto.
- * include/tr1/legendre_function.tcc: Ditto.
- * include/tr1/poly_hermite.tcc: Ditto.
- * include/tr1/ell_integral.tcc: Ditto.
+ * include/tr1/riemann_zeta.tcc: Likewise.
+ * include/tr1/exp_integral.tcc: Likewise.
+ * include/tr1/bessel_function.tcc: Likewise.
+ * include/tr1/hypergeometric.tcc: Likewise.
+ * include/tr1/modified_bessel_func.tcc: Likewise.
+ * include/tr1/poly_laguerre.tcc: Likewise.
+ * include/tr1/gamma.tcc: Likewise.
+ * include/tr1/legendre_function.tcc: Likewise.
+ * include/tr1/poly_hermite.tcc: Likewise.
+ * include/tr1/ell_integral.tcc: Likewise.
* include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
If argument is zero return function value.
- * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/pr56216.cc:
- New file.
+ * testsuite/tr1/5_numerical_facilities/special_functions/
+ 08_cyl_bessel_i/pr56216.cc: New.
2013-02-07 Paolo Carlini <paolo.carlini@oracle.com>
diff --git a/libstdc++-v3/include/bits/basic_ios.h b/libstdc++-v3/include/bits/basic_ios.h
index bda40f0..b78b464 100644
--- a/libstdc++-v3/include/bits/basic_ios.h
+++ b/libstdc++-v3/include/bits/basic_ios.h
@@ -112,13 +112,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* 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
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/pr56193.cc b/libstdc++-v3/testsuite/27_io/basic_ios/pr56193.cc
deleted file mode 100644
index 79793e2..0000000
--- a/libstdc++-v3/testsuite/27_io/basic_ios/pr56193.cc
+++ /dev/null
@@ -1,31 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++11" }
-
-// 2013-02-06 Edward Smith-Rowland <3dw4rd@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 }