From: Paolo Carlini Date: Sat, 21 May 2011 00:30:57 +0000 (+0000) Subject: propagation_consistent.cc: Fix vs POD-ness of value_type. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=11436beb875ef83f8de7a1d264834a276c6a3a7a;p=gcc.git propagation_consistent.cc: Fix vs POD-ness of value_type. 2011-05-20 Paolo Carlini * testsuite/21_strings/basic_string/requirements/exception/ propagation_consistent.cc: Fix vs POD-ness of value_type. * testsuite/21_strings/basic_string/requirements/exception/ basic.cc: Likewise. * testsuite/ext/vstring/requirements/exception/ propagation_consistent.cc: Likewise. * testsuite/ext/vstring/requirements/exception/basic.cc: Likewise. From-SVN: r173992 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 113acf56e86..e9fd3ac7c3a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,13 @@ +2011-05-20 Paolo Carlini + + * testsuite/21_strings/basic_string/requirements/exception/ + propagation_consistent.cc: Fix vs POD-ness of value_type. + * testsuite/21_strings/basic_string/requirements/exception/ + basic.cc: Likewise. + * testsuite/ext/vstring/requirements/exception/ + propagation_consistent.cc: Likewise. + * testsuite/ext/vstring/requirements/exception/basic.cc: Likewise. + 2011-05-20 Paolo Carlini * include/bits/char_traits.h: Use noexcept throughout. diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/basic.cc b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/basic.cc index 1f6b970d2bf..987aaedf12d 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/basic.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/basic.cc @@ -3,7 +3,7 @@ // 2009-11-10 Benjamin Kosnik -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011 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 @@ -26,7 +26,9 @@ void value() { - typedef __gnu_cxx::throw_value_limit value_type; + // NB: Instantiating with __gnu_cxx::throw_value_limit would be illegal, + // isn't a POD type. + typedef char value_type; typedef __gnu_cxx::throw_allocator_limit allocator_type; typedef std::char_traits traits_type; typedef std::basic_string test_type; diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc index 8e27a919ce1..dfcda7f2fa9 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc @@ -1,10 +1,9 @@ // { dg-options "-std=gnu++0x" } // { dg-require-cstdint "" } -// { dg-do run { xfail *-*-* } } // 2009-09-14 Benjamin Kosnik -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011 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 @@ -27,7 +26,9 @@ void value() { - typedef __gnu_cxx::throw_value_limit value_type; + // NB: Instantiating with __gnu_cxx::throw_value_limit would be illegal, + // isn't a POD type. + typedef char value_type; typedef __gnu_cxx::throw_allocator_limit allocator_type; typedef std::char_traits traits_type; typedef std::basic_string test_type; diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/exception/basic.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/exception/basic.cc index a0042d48826..5bc6f2744c9 100644 --- a/libstdc++-v3/testsuite/ext/vstring/requirements/exception/basic.cc +++ b/libstdc++-v3/testsuite/ext/vstring/requirements/exception/basic.cc @@ -3,7 +3,7 @@ // 2009-11-10 Benjamin Kosnik -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011 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 @@ -26,14 +26,9 @@ void value() { -#if 1 + // NB: Instantiating with __gnu_cxx::throw_value_limit would be illegal, + // isn't a POD type. typedef char value_type; -#else - // XXX - // __gnu_cxx::__rc_string_base<>::_Rep::_M_align’ with constructor - // not allowed in union - // typedef __gnu_cxx::throw_value_limit value_type; -#endif typedef __gnu_cxx::throw_allocator_limit allocator_type; typedef std::char_traits traits_type; diff --git a/libstdc++-v3/testsuite/ext/vstring/requirements/exception/propagation_consistent.cc b/libstdc++-v3/testsuite/ext/vstring/requirements/exception/propagation_consistent.cc index 09d8618ab80..e609329ea7d 100644 --- a/libstdc++-v3/testsuite/ext/vstring/requirements/exception/propagation_consistent.cc +++ b/libstdc++-v3/testsuite/ext/vstring/requirements/exception/propagation_consistent.cc @@ -3,7 +3,7 @@ // 2009-09-14 Benjamin Kosnik -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010, 2011 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 @@ -26,14 +26,9 @@ void value() { -#if 1 + // NB: Instantiating with __gnu_cxx::throw_value_limit would be illegal, + // isn't a POD type. typedef char value_type; -#else - // XXX - // __gnu_cxx::__rc_string_base<>::_Rep::_M_align’ with constructor - // not allowed in union - // typedef __gnu_cxx::throw_value_limit value_type; -#endif typedef __gnu_cxx::throw_allocator_limit allocator_type; typedef std::char_traits traits_type;