aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/ext/array_allocator/2.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/testsuite/ext/array_allocator/2.cc')
-rw-r--r--libstdc++-v3/testsuite/ext/array_allocator/2.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/2.cc b/libstdc++-v3/testsuite/ext/array_allocator/2.cc
index 1e837258923..f580ea250b7 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/2.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/2.cc
@@ -1,4 +1,7 @@
-// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+// Expected execution error for PR19495.
+// { dg-do run { xfail powerpc*-*-linux* } }
+
+// Copyright (C) 2004 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
@@ -32,10 +35,7 @@
typedef char char_type;
typedef std::char_traits<char_type> traits_type;
-// NB: Array_allocator doesn't properly support rebinding, used by
-// basic_string. See libstdc++/21609 for details.
-typedef std::tr1::array<size_t, 16> array_type;
-typedef __gnu_cxx::array_allocator<size_t, array_type> allocator_type;
+typedef std::tr1::array<char_type, 32> array_type;
array_type extern_array;
@@ -44,8 +44,10 @@ void test01()
bool test __attribute__((unused)) = true;
using std::basic_string;
+ typedef __gnu_cxx::array_allocator<char_type, array_type> allocator_type;
typedef basic_string<char_type, traits_type, allocator_type> string_type;
+ size_t index = array_type::_S_index;
allocator_type a(&extern_array);
string_type s(a);