diff options
13 files changed, 25 insertions, 35 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 7df1748..17c716a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,27 @@ 2017-01-16 Jonathan Wakely <jwakely@redhat.com> + PR libstdc++/66145 + * src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure + exceptions. + * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI + for test, so new ios::failure can be caught. + * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/ + exceptions_failbit.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ + exceptions_failbit.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/char/ + exceptions_null.cc: Likewise. + * testsuite/27_io/basic_istream/extractors_other/wchar_t/ + exceptions_null.cc: Likewise. + * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. + * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/ + exceptions_null.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ + exceptions_null.cc: Likewise. + * testsuite/27_io/ios_base/storage/2.cc: Likewise. + PR libstdc++/78702 * include/bits/locale_classes.h (locale::facet::__shim): Change from private to protected. diff --git a/libstdc++-v3/src/c++11/functexcept.cc b/libstdc++-v3/src/c++11/functexcept.cc index 3210619..6281534 100644 --- a/libstdc++-v3/src/c++11/functexcept.cc +++ b/libstdc++-v3/src/c++11/functexcept.cc @@ -20,8 +20,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -// We don't want to change the type thrown by __throw_ios_failure (yet?) -#define _GLIBCXX_USE_CXX11_ABI 0 +// Determines the version of ios_base::failure thrown by __throw_ios_failure. +// If !_GLIBCXX_USE_DUAL_ABI this will get undefined automatically. +#define _GLIBCXX_USE_CXX11_ABI 1 #include <bits/functexcept.h> #include <cstdlib> diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc index e1a30f3..d922b18 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc @@ -17,9 +17,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// The library still throws the original definition of std::ios::failure -// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=0" } - // 27.4.4.2 basic_ios member functions // NB: Don't include any other headers in this file. diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc index df073cf..a7f829a 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc @@ -17,9 +17,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// The library still throws the original definition of std::ios::failure -// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=0" } - // 27.4.4.2 basic_ios member functions // NB: Don't include any other headers in this file. diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit.cc index ecbbf18..ab4d7b1 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit.cc @@ -15,9 +15,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// The library still throws the original definition of std::ios::failure -// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=0" } - #include <sstream> #include <testsuite_hooks.h> diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit.cc index ebe8f70..f9537e0 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit.cc @@ -15,9 +15,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// The library still throws the original definition of std::ios::failure -// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=0" } - #include <sstream> #include <testsuite_hooks.h> diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc index 7ff3204..d508f0a 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc @@ -15,9 +15,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// The library still throws the original definition of std::ios::failure -// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=0" } - #include <istream> #include <ostream> #include <streambuf> diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc index 499ed77..63b3570 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc @@ -15,9 +15,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// The library still throws the original definition of std::ios::failure -// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=0" } - #include <istream> #include <ostream> #include <streambuf> diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/12297.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/12297.cc index 50829fd..bd99187 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/12297.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/12297.cc @@ -18,9 +18,6 @@ // 27.6.1.1.2 class basic_istream::sentry -// The library still throws the original definition of std::ios::failure -// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=0" } - #include <sstream> #include <testsuite_hooks.h> diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc index f56ad55..86713dc 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc @@ -15,9 +15,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// The library still throws the original definition of std::ios::failure -// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=0" } - // 27.6.1.1.2 class basic_istream::sentry #include <sstream> diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc index d83fe7f..a19cc3f 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc @@ -15,9 +15,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// The library still throws the original definition of std::ios::failure -// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=0" } - #include <istream> #include <ostream> #include <streambuf> diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc index ddf38db..e449837 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc @@ -15,9 +15,6 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// The library still throws the original definition of std::ios::failure -// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=0" } - #include <istream> #include <ostream> #include <streambuf> diff --git a/libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc b/libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc index 4a9e120..a5b9f64 100644 --- a/libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc +++ b/libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc @@ -28,9 +28,6 @@ // Radar 6467884: 10.X systems are not robust when paging space is exceeded // { dg-skip-if "" { *-*-darwin* && lp64 } { "*" } { "" } } -// The library still throws the original definition of std::ios::failure -// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=0" } - #include <sstream> #include <iostream> #include <limits> |