Remove array_allocator extension, deprecated since 4.9.0
authorJonathan Wakely <jwakely@redhat.com>
Mon, 13 May 2019 10:49:58 +0000 (11:49 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Mon, 13 May 2019 10:49:58 +0000 (11:49 +0100)
This type is not a conforming allocator, because it cannot be reliably
rebound to allocate for a different type. The result of the rebind
transformation still uses the same underlying std::tr1::array<T, 1>
array, which may not be correctly aligned or even have elements the
right size for the value_type of the rebound allocator.

It has been deprecated for several years and should now be removed.

* doc/xml/manual/allocator.xml: Remove documentation for
array_allocator.
* doc/xml/manual/evolution.xml: Document array_allocator removal.
* doc/xml/manual/using.xml: Remove header from documentation.
* include/Makefile.am: Remove <ext/array_allocator.h> header.
* include/Makefile.in: Regenerate.
* include/ext/array_allocator.h: Remove.
* include/precompiled/extc++.h: Do not include removed header.
* testsuite/ext/array_allocator/1.cc: Remove.
* testsuite/ext/array_allocator/2.cc: Remove.
* testsuite/ext/array_allocator/26875.cc: Remove.
* testsuite/ext/array_allocator/3.cc: Remove.
* testsuite/ext/array_allocator/check_deallocate_null.cc: Remove.
* testsuite/ext/array_allocator/check_delete.cc: Remove.
* testsuite/ext/array_allocator/check_new.cc: Remove.
* testsuite/ext/array_allocator/variadic_construct.cc: Remove.
* testsuite/ext/headers.cc: Do not include removed header.

From-SVN: r271119

18 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/doc/xml/manual/allocator.xml
libstdc++-v3/doc/xml/manual/evolution.xml
libstdc++-v3/doc/xml/manual/using.xml
libstdc++-v3/include/Makefile.am
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/ext/array_allocator.h [deleted file]
libstdc++-v3/include/precompiled/extc++.h
libstdc++-v3/testsuite/ext/array_allocator/1.cc [deleted file]
libstdc++-v3/testsuite/ext/array_allocator/2.cc [deleted file]
libstdc++-v3/testsuite/ext/array_allocator/26875.cc [deleted file]
libstdc++-v3/testsuite/ext/array_allocator/3.cc [deleted file]
libstdc++-v3/testsuite/ext/array_allocator/check_allocate_max_size.cc [deleted file]
libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc [deleted file]
libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc [deleted file]
libstdc++-v3/testsuite/ext/array_allocator/check_new.cc [deleted file]
libstdc++-v3/testsuite/ext/array_allocator/variadic_construct.cc [deleted file]
libstdc++-v3/testsuite/ext/headers.cc

index 50633c89f2fab20b2621dcab55b4cc3f076f9a43..2869dafa810a0e734b2372ca81d353ed76594396 100644 (file)
@@ -1,3 +1,24 @@
+2019-05-11  Jonathan Wakely  <jwakely@redhat.com>
+
+       Remove array_allocator extension, deprecated since 4.9.0
+       * doc/xml/manual/allocator.xml: Remove documentation for
+       array_allocator.
+       * doc/xml/manual/evolution.xml: Document array_allocator removal.
+       * doc/xml/manual/using.xml: Remove header from documentation.
+       * include/Makefile.am: Remove <ext/array_allocator.h> header.
+       * include/Makefile.in: Regenerate.
+       * include/ext/array_allocator.h: Remove.
+       * include/precompiled/extc++.h: Do not include removed header.
+       * testsuite/ext/array_allocator/1.cc: Remove.
+       * testsuite/ext/array_allocator/2.cc: Remove.
+       * testsuite/ext/array_allocator/26875.cc: Remove.
+       * testsuite/ext/array_allocator/3.cc: Remove.
+       * testsuite/ext/array_allocator/check_deallocate_null.cc: Remove.
+       * testsuite/ext/array_allocator/check_delete.cc: Remove.
+       * testsuite/ext/array_allocator/check_new.cc: Remove.
+       * testsuite/ext/array_allocator/variadic_construct.cc: Remove.
+       * testsuite/ext/headers.cc: Do not include removed header.
+
 2019-05-11  François Dumont  <fdumont@gcc.gnu.org>
 
        * include/bits/stl_bvector.h
index 8d49b919ff65199ebcacbd708390ea848106c932..2b9a5ca6611c71a2479e97aca26ffcbf9b2aea97 100644 (file)
         taken care of elsewhere).
        </para>
      </listitem>
-     <listitem>
-       <para>
-       <classname>array_allocator</classname>
-       </para>
-       <para>
-        Allows allocations of known and fixed sizes using existing
-        global or external storage allocated via construction of
-        <classname>std::tr1::array</classname> objects. By using this
-        allocator, fixed size containers (including
-        <classname>std::string</classname>) can be used without
-        instances calling <function>::operator new</function> and
-        <function>::operator delete</function>. This capability
-        allows the use of STL abstractions without runtime
-        complications or overhead, even in situations such as program
-        startup. For usage examples, please consult the testsuite.
-       </para>
-     </listitem>
      <listitem>
        <para>
        <classname>debug_allocator</classname>
index c7efb8f0f8ab18ccffedf847102b086ee4e44ac0..802886940567bf6960dc1583cf58eb2729c08f0f 100644 (file)
@@ -947,4 +947,8 @@ now defaults to zero.
 
 </section>
 
+<section xml:id="api.rel_101"><info><title><constant>10</constant></title></info>
+<para> <classname>__gnu_cxx::array_allocator</classname> removed. </para>
+</section>
+
 </section>
index 8e099d9c3d82a335bdfb52031368f9732beeec33..a97099989a120957b0ebf7ac069bf7c4e2ba83ab 100644 (file)
@@ -719,7 +719,6 @@ compiler supports scalar decimal floating-point types defined via
 <row>
 <entry><filename class="headerfile">ext/algorithm</filename></entry>
 <entry><filename class="headerfile">ext/atomicity.h</filename></entry>
-<entry><filename class="headerfile">ext/array_allocator.h</filename></entry>
 <entry><filename class="headerfile">ext/bitmap_allocator.h</filename></entry>
 <entry><filename class="headerfile">ext/cast.h</filename></entry>
 </row>
index 1deacb80ca248d89e494a79fefb5b3a5ea043d11..f8f126fbc7d4a2733087536e05be1d3bdb46b8fd 100644 (file)
@@ -563,7 +563,6 @@ ext_headers = \
        ${ext_srcdir}/aligned_buffer.h \
        ${ext_srcdir}/alloc_traits.h \
        ${ext_srcdir}/atomicity.h \
-       ${ext_srcdir}/array_allocator.h \
        ${ext_srcdir}/bitmap_allocator.h \
        ${ext_srcdir}/cast.h \
        ${ext_srcdir}/cmath \
index bc475c6dd90f1b18307eaa7b84195d61717ea416..31e83eab7ecc0a0e9acccf2bc2a7b16cde792153 100644 (file)
@@ -906,7 +906,6 @@ ext_headers = \
        ${ext_srcdir}/aligned_buffer.h \
        ${ext_srcdir}/alloc_traits.h \
        ${ext_srcdir}/atomicity.h \
-       ${ext_srcdir}/array_allocator.h \
        ${ext_srcdir}/bitmap_allocator.h \
        ${ext_srcdir}/cast.h \
        ${ext_srcdir}/cmath \
diff --git a/libstdc++-v3/include/ext/array_allocator.h b/libstdc++-v3/include/ext/array_allocator.h
deleted file mode 100644 (file)
index c0d4a34..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-// array allocator -*- C++ -*-
-
-// Copyright (C) 2004-2019 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
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-// <http://www.gnu.org/licenses/>.
-
-/** @file ext/array_allocator.h
- *  This file is a GNU extension to the Standard C++ Library.
- */
-
-#ifndef _ARRAY_ALLOCATOR_H
-#define _ARRAY_ALLOCATOR_H 1
-
-#include <bits/c++config.h>
-#include <new>
-#include <bits/functexcept.h>
-#include <tr1/array>
-#include <bits/move.h>
-#if __cplusplus >= 201103L
-#include <type_traits>
-#endif
-
-// Suppress deprecated warning for this file.
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
-namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
-{
-_GLIBCXX_BEGIN_NAMESPACE_VERSION
-
- using std::size_t;
- using std::ptrdiff_t;
-
-  /// Base class.
- template<typename _Tp>
-    class array_allocator_base
-    {
-    public:
-      typedef size_t           size_type;
-      typedef ptrdiff_t        difference_type;
-      typedef _Tp*             pointer;
-      typedef const _Tp*       const_pointer;
-      typedef _Tp&             reference;
-      typedef const _Tp&       const_reference;
-      typedef _Tp              value_type;
-
-      pointer
-      address(reference __x) const _GLIBCXX_NOEXCEPT
-      { return std::__addressof(__x); }
-
-      const_pointer
-      address(const_reference __x) const _GLIBCXX_NOEXCEPT
-      { return std::__addressof(__x); }
-
-      void
-      deallocate(pointer, size_type)
-      { 
-       // Does nothing.
-      }
-
-      size_type
-      max_size() const _GLIBCXX_USE_NOEXCEPT 
-      { return size_t(-1) / sizeof(_Tp); }
-
-#if __cplusplus >= 201103L
-      template<typename _Up, typename... _Args>
-        void
-        construct(_Up* __p, _Args&&... __args)
-       { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
-
-      template<typename _Up>
-        void 
-        destroy(_Up* __p) { __p->~_Up(); }
-#else
-      // _GLIBCXX_RESOLVE_LIB_DEFECTS
-      // 402. wrong new expression in [some_] allocator::construct
-      void 
-      construct(pointer __p, const _Tp& __val) 
-      { ::new((void *)__p) value_type(__val); }
-
-      void 
-      destroy(pointer __p) { __p->~_Tp(); }
-#endif
-    } _GLIBCXX_DEPRECATED;
-
-  /**
-   *  @brief  An allocator that uses previously allocated memory.
-   *  This memory can be externally, globally, or otherwise allocated.
-   *  @ingroup allocators
-   */
-  template<typename _Tp, typename _Array = std::tr1::array<_Tp, 1> >
-    class array_allocator : public array_allocator_base<_Tp>
-    {
-    public:
-      typedef size_t           size_type;
-      typedef ptrdiff_t        difference_type;
-      typedef _Tp*             pointer;
-      typedef const _Tp*       const_pointer;
-      typedef _Tp&             reference;
-      typedef const _Tp&       const_reference;
-      typedef _Tp              value_type;
-      typedef _Array           array_type;
-
-#if __cplusplus >= 201103L
-      // _GLIBCXX_RESOLVE_LIB_DEFECTS
-      // 2103. std::allocator propagate_on_container_move_assignment
-      typedef std::true_type propagate_on_container_move_assignment;
-
-      typedef std::true_type is_always_equal;
-#endif
-
-    private:
-      array_type*      _M_array;
-      size_type        _M_used;
-
-    public:
-     template<typename _Tp1, typename _Array1 = _Array>
-        struct rebind
-        {
-         typedef array_allocator<_Tp1, _Array1> other _GLIBCXX_DEPRECATED;
-       } _GLIBCXX_DEPRECATED;
-
-      array_allocator(array_type* __array = 0) _GLIBCXX_USE_NOEXCEPT 
-      : _M_array(__array), _M_used(size_type()) { }
-
-      array_allocator(const array_allocator& __o) _GLIBCXX_USE_NOEXCEPT 
-      : _M_array(__o._M_array), _M_used(__o._M_used) { }
-
-      template<typename _Tp1, typename _Array1>
-        array_allocator(const array_allocator<_Tp1, _Array1>&)
-       _GLIBCXX_USE_NOEXCEPT
-       : _M_array(0), _M_used(size_type()) { }
-
-      ~array_allocator() _GLIBCXX_USE_NOEXCEPT { }
-
-      _GLIBCXX_NODISCARD pointer
-      allocate(size_type __n, const void* = 0)
-      {
-       if (_M_array == 0 || _M_used + __n > _M_array->size())
-         std::__throw_bad_alloc();
-       pointer __ret = _M_array->begin() + _M_used;
-       _M_used += __n;
-       return __ret;
-      }
-    } _GLIBCXX_DEPRECATED;
-
-  template<typename _Tp, typename _Array>
-    inline bool
-    operator==(const array_allocator<_Tp, _Array>&,
-              const array_allocator<_Tp, _Array>&)
-    { return true; }
-  
-  template<typename _Tp, typename _Array>
-    inline bool
-    operator!=(const array_allocator<_Tp, _Array>&, 
-              const array_allocator<_Tp, _Array>&)
-    { return false; }
-
-_GLIBCXX_END_NAMESPACE_VERSION
-} // namespace
-
-#pragma GCC diagnostic pop
-
-#endif
index 0379a0247a8c5d12c9eae6573bece67e39948f4a..e6cf779fb8eea8828775be726f11243bf0faa18b 100644 (file)
@@ -37,7 +37,6 @@
 # include <ext/aligned_buffer.h>
 #endif
 #include <ext/alloc_traits.h>
-#include <ext/array_allocator.h>
 #include <ext/atomicity.h>
 #include <ext/bitmap_allocator.h>
 #include <ext/cast.h>
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/1.cc b/libstdc++-v3/testsuite/ext/array_allocator/1.cc
deleted file mode 100644 (file)
index 4c2b2c4..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright (C) 2004-2019 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
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-Wno-deprecated" }
-
-#include <ext/vstring.h>
-#include <ext/array_allocator.h>
-#include <testsuite_hooks.h>
-
-typedef char char_type;
-typedef std::char_traits<char_type> traits_type;
-typedef std::tr1::array<char_type, 4> array_type;
-
-array_type extern_array;
-
-void test01() 
-{
-  using __gnu_cxx::__versa_string;
-  typedef __gnu_cxx::array_allocator<char_type, array_type> allocator_type;
-  typedef __versa_string<char_type, traits_type, allocator_type> string_type;
-
-  allocator_type a(&extern_array);
-  string_type s(a);
-    
-  try
-    {
-      s.reserve(4); // Actually need 4 + 1 + sizeof(std::string::_Rep).
-    }
-  catch(std::bad_alloc& obj)
-    {
-      VERIFY( true );
-    }
-  catch(...)
-    {
-      VERIFY( false );
-    }
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/2.cc b/libstdc++-v3/testsuite/ext/array_allocator/2.cc
deleted file mode 100644 (file)
index 4406041..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright (C) 2004-2019 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
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-Wno-deprecated" }
-
-#include <iostream>
-#include <ext/vstring.h>
-#include <ext/array_allocator.h>
-#include <testsuite_hooks.h>
-
-typedef char char_type;
-typedef std::char_traits<char_type> traits_type;
-typedef std::tr1::array<char_type, 32> array_type;
-
-array_type extern_array;
-
-void test01() 
-{
-  using __gnu_cxx::__versa_string;
-  typedef __gnu_cxx::array_allocator<char_type, array_type> allocator_type;
-  typedef __versa_string<char_type, traits_type, allocator_type> string_type;
-
-  allocator_type a(&extern_array);
-  string_type s(a);
-    
-  try
-    {
-      s.reserve(4); // Actually need 4 + 1 + sizeof(std::string::_Rep).
-    }
-  catch(std::bad_alloc& obj)
-    {
-      VERIFY( false );
-    }
-  catch(...)
-    {
-      VERIFY( false );
-    }
-
-  s.append(1, 'c');
-  s.append(2, 'b');
-
-  std::cout << s.c_str() << std::endl;
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/26875.cc b/libstdc++-v3/testsuite/ext/array_allocator/26875.cc
deleted file mode 100644 (file)
index e72e3b2..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// Copyright (C) 2006-2019 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
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-Wno-deprecated" }
-
-#include <ext/array_allocator.h>
-
-// libstdc++/26875
-int main()
-{
-  typedef std::tr1::array<int, 1> array_type;
-  array_type Array1;
-  array_type Array2;
-
-  typedef __gnu_cxx::array_allocator<int> allocator_type;
-  allocator_type Allocator1(&Array1);
-  allocator_type Allocator2(&Array2);
-
-  try
-    {
-      (void) Allocator1.allocate(1);
-      (void) Allocator2.allocate(1);
-    }
-  catch (std::bad_alloc& ex)
-    {
-      // fail, rethrow
-      throw;
-    }
-    
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/3.cc b/libstdc++-v3/testsuite/ext/array_allocator/3.cc
deleted file mode 100644 (file)
index 041972f..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright (C) 2004-2019 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
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-Wno-deprecated" }
-
-#include <ext/vstring.h>
-#include <ext/array_allocator.h>
-#include <testsuite_hooks.h>
-
-typedef char char_type;
-typedef std::char_traits<char_type> traits_type;
-typedef std::tr1::array<char_type, 4> array_type;
-
-array_type extern_array;
-
-void test01() 
-{
-  using __gnu_cxx::__versa_string;
-  typedef __gnu_cxx::array_allocator<char_type, array_type> allocator_type;
-  typedef __versa_string<char_type, traits_type, allocator_type> string_type;
-
-  // Construct array_allocator without underlying array.
-  allocator_type a;
-  string_type s(a);
-    
-  try
-    {
-      s.reserve(4); // Actually need 4 + 1 + sizeof(std::string::_Rep).
-    }
-  catch(std::bad_alloc& obj)
-    {
-      VERIFY( true );
-    }
-  catch(...)
-    {
-      VERIFY( false );
-    }
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/array_allocator/check_allocate_max_size.cc
deleted file mode 100644 (file)
index 7bba0c6..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// Copyright (C) 2004-2019 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
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-Wno-deprecated" }
-
-// 20.4.1.1 allocator members
-
-#include <ext/array_allocator.h>
-#include <testsuite_allocator.h>
-
-int main()
-{ 
-  typedef int value_type;
-  typedef __gnu_cxx::array_allocator<value_type> allocator_type;
-  __gnu_test::check_allocate_max_size<allocator_type>();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc b/libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc
deleted file mode 100644 (file)
index ae59fcb..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// Copyright (C) 2004-2019 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
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-Wno-deprecated" }
-
-// 20.4.1.1 allocator members
-
-#include <ext/array_allocator.h>
-#include <testsuite_allocator.h>
-
-int main()
-{ 
-  typedef int value_type;
-  typedef __gnu_cxx::array_allocator<value_type> allocator_type;
-  __gnu_test::check_deallocate_null<allocator_type>(); 
-  return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc
deleted file mode 100644 (file)
index 6819353..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// 2001-11-25  Phil Edwards  <pme@gcc.gnu.org>
-//
-// Copyright (C) 2001-2019 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
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-Wno-deprecated" }
-
-// 20.4.1.1 allocator members
-
-#include <cstdlib>
-#include <ext/array_allocator.h>
-#include <replacement_memory_operators.h>
-
-int main()
-{ 
-  typedef unsigned int value_type;
-  typedef std::tr1::array<value_type, 15> array_type;
-  typedef __gnu_cxx::array_allocator<value_type, array_type> allocator_type;
-  array_type store;
-  allocator_type a(&store);
-  __gnu_test::check_delete<allocator_type, false>(a); 
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/array_allocator/check_new.cc
deleted file mode 100644 (file)
index 9c515c0..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// 2001-11-25  Phil Edwards  <pme@gcc.gnu.org>
-//
-// Copyright (C) 2001-2019 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
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-Wno-deprecated" }
-
-// 20.4.1.1 allocator members
-
-#include <cstdlib>
-#include <ext/array_allocator.h>
-#include <replacement_memory_operators.h>
-
-int main()
-{ 
-  typedef unsigned int value_type;
-  typedef std::tr1::array<value_type, 15> array_type;
-  typedef __gnu_cxx::array_allocator<value_type, array_type> allocator_type;
-  array_type store;
-  allocator_type a(&store);
-  __gnu_test::check_new<allocator_type, false>(a); 
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/variadic_construct.cc b/libstdc++-v3/testsuite/ext/array_allocator/variadic_construct.cc
deleted file mode 100644 (file)
index 880362b..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// { dg-do run { target c++11 } }
-// { dg-options "-Wno-deprecated" }
-
-// 2007-10-27  Paolo Carlini  <pcarlini@suse.de>
-
-// Copyright (C) 2007-2019 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
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-// 20.4.1.1 allocator members
-
-#include <ext/array_allocator.h>
-#include <utility>
-#include <testsuite_hooks.h>
-
-void test01()
-{
-  typedef std::pair<int, char> pair_type;
-  typedef std::tr1::array<pair_type, 3> array_type;
-  array_type store;
-
-  __gnu_cxx::array_allocator<pair_type, array_type> alloc1(&store);
-  pair_type* ptp1 = alloc1.allocate(1);
-  alloc1.construct(ptp1, 3, 'a');
-
-  VERIFY( ptp1->first == 3 );
-  VERIFY( ptp1->second == 'a' );
-
-  alloc1.deallocate(ptp1, 1);
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
index b7c3597e70077702cc808bff648a5ee07d78535a..0e365d6d044de8f5ac1dd52f51948607abe174ce 100644 (file)
@@ -24,7 +24,6 @@
 // subdirectory that are meant to be directly included.
 
 #include <ext/algorithm>
-#include <ext/array_allocator.h>
 #include <ext/atomicity.h>
 #include <ext/bitmap_allocator.h>
 #if _GLIBCXX_HAVE_ICONV