summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog10
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/basic.cc6
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc7
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/exception/basic.cc11
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/requirements/exception/propagation_consistent.cc11
5 files changed, 24 insertions, 21 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 113acf56e86..e9fd3ac7c3a 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,15 @@
2011-05-20 Paolo Carlini <paolo.carlini@oracle.com>
+ * 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 <paolo.carlini@oracle.com>
+
* include/bits/char_traits.h: Use noexcept throughout.
* include/std/typeindex: Likewise.
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 <benjamin@redhat.com>
-// 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<value_type> allocator_type;
typedef std::char_traits<value_type> traits_type;
typedef std::basic_string<value_type, traits_type, allocator_type> 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 <benjamin@redhat.com>
-// 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<value_type> allocator_type;
typedef std::char_traits<value_type> traits_type;
typedef std::basic_string<value_type, traits_type, allocator_type> 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 <benjamin@redhat.com>
-// 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<value_type> allocator_type;
typedef std::char_traits<value_type> 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 <benjamin@redhat.com>
-// 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<value_type> allocator_type;
typedef std::char_traits<value_type> traits_type;
OpenPOWER on IntegriCloud