Hi,

long standing quirks. Tested x86_64-linux, committed.

Paolo.

////////////////////
2011-05-20  Paolo Carlini  <paolo.carl...@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.

Index: 
testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc
===================================================================
--- 
testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc
  (revision 173985)
+++ 
testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc
  (working copy)
@@ -1,10 +1,9 @@
 // { dg-options "-std=gnu++0x" }
 // { dg-require-cstdint "" }
-// { dg-do run { xfail *-*-* } }
 
 // 2009-09-14  Benjamin Kosnik  <benja...@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;
Index: testsuite/21_strings/basic_string/requirements/exception/basic.cc
===================================================================
--- testsuite/21_strings/basic_string/requirements/exception/basic.cc   
(revision 173985)
+++ testsuite/21_strings/basic_string/requirements/exception/basic.cc   
(working copy)
@@ -3,7 +3,7 @@
 
 // 2009-11-10  Benjamin Kosnik  <benja...@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;
Index: testsuite/ext/vstring/requirements/exception/propagation_consistent.cc
===================================================================
--- testsuite/ext/vstring/requirements/exception/propagation_consistent.cc      
(revision 173985)
+++ testsuite/ext/vstring/requirements/exception/propagation_consistent.cc      
(working copy)
@@ -3,7 +3,7 @@
 
 // 2009-09-14  Benjamin Kosnik  <benja...@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;
 
Index: testsuite/ext/vstring/requirements/exception/basic.cc
===================================================================
--- testsuite/ext/vstring/requirements/exception/basic.cc       (revision 
173985)
+++ testsuite/ext/vstring/requirements/exception/basic.cc       (working copy)
@@ -3,7 +3,7 @@
 
 // 2009-11-10  Benjamin Kosnik  <benja...@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;
 

Reply via email to