aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2007-10-24 15:21:22 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2007-10-24 15:21:22 +0000
commit32e520abfcfb27d1d0949b1fe8fc8217678ecea3 (patch)
tree9979d00869017834fae7a6ea75f42a2cfe5b21e0
parent510359760e6a4a270ac7306f50de6ebbbbab0b99 (diff)
downloadgcc-32e520abfcfb27d1d0949b1fe8fc8217678ecea3.zip
gcc-32e520abfcfb27d1d0949b1fe8fc8217678ecea3.tar.gz
gcc-32e520abfcfb27d1d0949b1fe8fc8217678ecea3.tar.bz2
array (_M_instance): Align naturally.
2007-10-24 Paolo Carlini <pcarlini@suse.de> * include/tr1_impl/array (_M_instance): Align naturally. * testsuite/ext/array_allocator/1.cc: Use ext/vstring, more solid than our current basic_string vs alignment. * testsuite/ext/array_allocator/2.cc: Likewise. * testsuite/ext/array_allocator/3.cc: Likewise. From-SVN: r129604
-rw-r--r--libstdc++-v3/ChangeLog8
-rw-r--r--libstdc++-v3/include/tr1_impl/array2
-rw-r--r--libstdc++-v3/testsuite/ext/array_allocator/1.cc10
-rw-r--r--libstdc++-v3/testsuite/ext/array_allocator/2.cc8
-rw-r--r--libstdc++-v3/testsuite/ext/array_allocator/3.cc8
5 files changed, 22 insertions, 14 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index e7d18fd..3616d36 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,11 @@
+2007-10-24 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1_impl/array (_M_instance): Align naturally.
+ * testsuite/ext/array_allocator/1.cc: Use ext/vstring,
+ more solid than our current basic_string vs alignment.
+ * testsuite/ext/array_allocator/2.cc: Likewise.
+ * testsuite/ext/array_allocator/3.cc: Likewise.
+
2007-10-20 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_move.h (_GLIBCXX_MOVE): Wrap in parentheses.
diff --git a/libstdc++-v3/include/tr1_impl/array b/libstdc++-v3/include/tr1_impl/array
index 83cad15..425b87c 100644
--- a/libstdc++-v3/include/tr1_impl/array
+++ b/libstdc++-v3/include/tr1_impl/array
@@ -52,7 +52,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
// Support for zero-sized arrays mandatory.
- value_type _M_instance[_Nm ? _Nm : 1] __attribute__((__aligned__));
+ value_type _M_instance[_Nm ? _Nm : 1];
// No explicit construct/copy/destroy for aggregate type.
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/1.cc b/libstdc++-v3/testsuite/ext/array_allocator/1.cc
index 84a6c19..8b7bcbd 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/1.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2006, 2007 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
@@ -25,7 +25,7 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
-#include <string>
+#include <ext/vstring.h>
#include <ext/array_allocator.h>
#include <testsuite_hooks.h>
@@ -38,10 +38,10 @@ array_type extern_array;
void test01()
{
bool test __attribute__((unused)) = true;
-
- using std::basic_string;
+
+ using __gnu_cxx::__versa_string;
typedef __gnu_cxx::array_allocator<char_type, array_type> allocator_type;
- typedef basic_string<char_type, traits_type, allocator_type> string_type;
+ typedef __versa_string<char_type, traits_type, allocator_type> string_type;
allocator_type a(&extern_array);
string_type s(a);
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/2.cc b/libstdc++-v3/testsuite/ext/array_allocator/2.cc
index f3b3094..01702e7 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/2.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2006, 2007 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
@@ -25,8 +25,8 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
-#include <string>
#include <iostream>
+#include <ext/vstring.h>
#include <ext/array_allocator.h>
#include <testsuite_hooks.h>
@@ -40,9 +40,9 @@ void test01()
{
bool test __attribute__((unused)) = true;
- using std::basic_string;
+ using __gnu_cxx::__versa_string;
typedef __gnu_cxx::array_allocator<char_type, array_type> allocator_type;
- typedef basic_string<char_type, traits_type, allocator_type> string_type;
+ typedef __versa_string<char_type, traits_type, allocator_type> string_type;
allocator_type a(&extern_array);
string_type s(a);
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/3.cc b/libstdc++-v3/testsuite/ext/array_allocator/3.cc
index c9fa348..81f8bbd 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/3.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2006, 2007 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
@@ -25,7 +25,7 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
-#include <string>
+#include <ext/vstring.h>
#include <ext/array_allocator.h>
#include <testsuite_hooks.h>
@@ -39,9 +39,9 @@ void test01()
{
bool test __attribute__((unused)) = true;
- using std::basic_string;
+ using __gnu_cxx::__versa_string;
typedef __gnu_cxx::array_allocator<char_type, array_type> allocator_type;
- typedef basic_string<char_type, traits_type, allocator_type> string_type;
+ typedef __versa_string<char_type, traits_type, allocator_type> string_type;
// Construct array_allocator without underlying array.
allocator_type a;