aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/acinclude.m414
-rw-r--r--libstdc++-v3/config/allocator/bitmap_allocator_base.h55
-rw-r--r--libstdc++-v3/config/allocator/mt_allocator_base.h55
-rw-r--r--libstdc++-v3/config/allocator/pool_allocator_base.h55
-rwxr-xr-xlibstdc++-v3/configure14
-rw-r--r--libstdc++-v3/doc/html/manual/api.html3
-rw-r--r--libstdc++-v3/doc/html/manual/configure.html10
-rw-r--r--libstdc++-v3/doc/html/manual/memory.html57
-rw-r--r--libstdc++-v3/doc/html/manual/mt_allocator.html8
-rw-r--r--libstdc++-v3/doc/xml/manual/allocator.xml67
-rw-r--r--libstdc++-v3/doc/xml/manual/configure.xml10
-rw-r--r--libstdc++-v3/doc/xml/manual/evolution.xml5
-rw-r--r--libstdc++-v3/doc/xml/manual/mt_allocator.xml8
13 files changed, 64 insertions, 297 deletions
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 7132105..6d9a8875 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -2599,7 +2599,7 @@ AC_DEFUN([GLIBCXX_ENABLE_ALLOCATOR], [
AC_MSG_CHECKING([for std::allocator base class])
GLIBCXX_ENABLE(libstdcxx-allocator,auto,[[[=KIND]]],
[use KIND for target std::allocator base],
- [permit new|malloc|mt|bitmap|pool|yes|no|auto])
+ [permit new|malloc|yes|no|auto])
# If they didn't use this option switch, or if they specified --enable
# with no specific model, we'll have to look for one. If they
@@ -2631,26 +2631,14 @@ AC_DEFUN([GLIBCXX_ENABLE_ALLOCATOR], [
# Set configure bits for specified locale package
case ${enable_libstdcxx_allocator_flag} in
- bitmap)
- ALLOCATOR_H=config/allocator/bitmap_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::bitmap_allocator
- ;;
malloc)
ALLOCATOR_H=config/allocator/malloc_allocator_base.h
ALLOCATOR_NAME=__gnu_cxx::malloc_allocator
;;
- mt)
- ALLOCATOR_H=config/allocator/mt_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::__mt_alloc
- ;;
new)
ALLOCATOR_H=config/allocator/new_allocator_base.h
ALLOCATOR_NAME=__gnu_cxx::new_allocator
;;
- pool)
- ALLOCATOR_H=config/allocator/pool_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::__pool_alloc
- ;;
esac
GLIBCXX_CONDITIONAL(ENABLE_ALLOCATOR_NEW,
diff --git a/libstdc++-v3/config/allocator/bitmap_allocator_base.h b/libstdc++-v3/config/allocator/bitmap_allocator_base.h
deleted file mode 100644
index 40ccbf0..0000000
--- a/libstdc++-v3/config/allocator/bitmap_allocator_base.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// Base to std::allocator -*- C++ -*-
-
-// Copyright (C) 2004-2021 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 bits/c++allocator.h
- * This is an internal header file, included by other library headers.
- * Do not attempt to use it directly. @headername{memory}
- */
-
-#ifndef _GLIBCXX_CXX_ALLOCATOR_H
-#define _GLIBCXX_CXX_ALLOCATOR_H 1
-
-#include <ext/bitmap_allocator.h>
-
-#if __cplusplus >= 201103L
-namespace std
-{
- /**
- * @brief An alias to the base class for std::allocator.
- * @ingroup allocators
- *
- * Used to set the std::allocator base class to
- * __gnu_cxx::bitmap_allocator.
- *
- * @tparam _Tp Type of allocated object.
- */
- template<typename _Tp>
- using __allocator_base = __gnu_cxx::bitmap_allocator<_Tp>;
-}
-#else
-// Define bitmap_allocator as the base class to std::allocator.
-# define __allocator_base __gnu_cxx::bitmap_allocator
-#endif
-
-#endif
diff --git a/libstdc++-v3/config/allocator/mt_allocator_base.h b/libstdc++-v3/config/allocator/mt_allocator_base.h
deleted file mode 100644
index eb45b8d..0000000
--- a/libstdc++-v3/config/allocator/mt_allocator_base.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// Base to std::allocator -*- C++ -*-
-
-// Copyright (C) 2004-2021 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 bits/c++allocator.h
- * This is an internal header file, included by other library headers.
- * Do not attempt to use it directly. @headername{memory}
- */
-
-#ifndef _GLIBCXX_CXX_ALLOCATOR_H
-#define _GLIBCXX_CXX_ALLOCATOR_H 1
-
-#include <ext/mt_allocator.h>
-
-#if __cplusplus >= 201103L
-namespace std
-{
- /**
- * @brief An alias to the base class for std::allocator.
- * @ingroup allocators
- *
- * Used to set the std::allocator base class to
- * __gnu_cxx::__mt_alloc.
- *
- * @tparam _Tp Type of allocated object.
- */
- template<typename _Tp>
- using __allocator_base = __gnu_cxx::__mt_alloc<_Tp>;
-}
-#else
-// Define __mt_alloc as the base class to std::allocator.
-# define __allocator_base __gnu_cxx::__mt_alloc
-#endif
-
-#endif
diff --git a/libstdc++-v3/config/allocator/pool_allocator_base.h b/libstdc++-v3/config/allocator/pool_allocator_base.h
deleted file mode 100644
index c3ec8ec..0000000
--- a/libstdc++-v3/config/allocator/pool_allocator_base.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// Base to std::allocator -*- C++ -*-
-
-// Copyright (C) 2004-2021 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 bits/c++allocator.h
- * This is an internal header file, included by other library headers.
- * Do not attempt to use it directly. @headername{memory}
- */
-
-#ifndef _GLIBCXX_CXX_ALLOCATOR_H
-#define _GLIBCXX_CXX_ALLOCATOR_H 1
-
-#include <ext/pool_allocator.h>
-
-#if __cplusplus >= 201103L
-namespace std
-{
- /**
- * @brief An alias to the base class for std::allocator.
- * @ingroup allocators
- *
- * Used to set the std::allocator base class to
- * __gnu_cxx::__pool_alloc.
- *
- * @tparam _Tp Type of allocated object.
- */
- template<typename _Tp>
- using __allocator_base = __gnu_cxx::__pool_alloc<_Tp>;
-}
-#else
-// Define __pool_alloc as the base class to std::allocator.
-# define __allocator_base __gnu_cxx::__pool_alloc
-#endif
-
-#endif
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 9049e4b..61a14a2 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -16848,7 +16848,7 @@ $as_echo_n "checking for std::allocator base class... " >&6; }
if test "${enable_libstdcxx_allocator+set}" = set; then :
enableval=$enable_libstdcxx_allocator;
case "$enableval" in
- new|malloc|mt|bitmap|pool|yes|no|auto) ;;
+ new|malloc|yes|no|auto) ;;
*) as_fn_error $? "Unknown argument to enable/disable libstdcxx-allocator" "$LINENO" 5 ;;
esac
@@ -16889,26 +16889,14 @@ $as_echo "$enable_libstdcxx_allocator_flag" >&6; }
# Set configure bits for specified locale package
case ${enable_libstdcxx_allocator_flag} in
- bitmap)
- ALLOCATOR_H=config/allocator/bitmap_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::bitmap_allocator
- ;;
malloc)
ALLOCATOR_H=config/allocator/malloc_allocator_base.h
ALLOCATOR_NAME=__gnu_cxx::malloc_allocator
;;
- mt)
- ALLOCATOR_H=config/allocator/mt_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::__mt_alloc
- ;;
new)
ALLOCATOR_H=config/allocator/new_allocator_base.h
ALLOCATOR_NAME=__gnu_cxx::new_allocator
;;
- pool)
- ALLOCATOR_H=config/allocator/pool_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::__pool_alloc
- ;;
esac
diff --git a/libstdc++-v3/doc/html/manual/api.html b/libstdc++-v3/doc/html/manual/api.html
index 3281078..2cc44ae 100644
--- a/libstdc++-v3/doc/html/manual/api.html
+++ b/libstdc++-v3/doc/html/manual/api.html
@@ -444,4 +444,7 @@ can be used instead.
The <code class="function">std::unexpected</code> function and related typedef and
accessors for the unexpected handler are deprecated for C++11 and later.
Dynamic exception specifications should be replaced with <code class="code">noexcept</code>.
+</p><p>
+The <code class="literal">bitmap</code>, <code class="literal">mt</code>, and <code class="literal">pool</code>
+options for <code class="option">--enable-libstdcxx-allocator</code> were removed.
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="abi.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="appendix_porting.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="backwards.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ABI Policy and Guidelines </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Backwards Compatibility</td></tr></table></div></body></html> \ No newline at end of file
diff --git a/libstdc++-v3/doc/html/manual/configure.html b/libstdc++-v3/doc/html/manual/configure.html
index 9e2e9dc..31c4da8 100644
--- a/libstdc++-v3/doc/html/manual/configure.html
+++ b/libstdc++-v3/doc/html/manual/configure.html
@@ -64,12 +64,10 @@
<code class="code">'--enable-libstdcxx-allocator=auto'</code> (described
next).
</p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-allocator=OPTION </code></span></dt><dd><p>Select a target-specific underlying std::allocator. The
- choices are 'new' to specify a wrapper for new, 'malloc' to
- specify a wrapper for malloc, 'mt' for a fixed power of two allocator,
- 'pool' for the SGI pooled allocator or 'bitmap' for a bitmap allocator.
- See this page for more information on allocator
- <a class="link" href="memory.html#allocator.ext" title="Extension Allocators">extensions</a>. This option
- can change the library ABI.
+ choices are 'new' to specify a wrapper for new, and 'malloc' to
+ specify a wrapper for malloc.
+ See <a class="xref" href="memory.html#allocator.ext" title="Extension Allocators">the section called “Extension Allocators”</a> for more information.
+ This option can change the library ABI.
</p></dd><dt><span class="term"><code class="code">--enable-cheaders=OPTION</code></span></dt><dd><p>This allows the user to define the approach taken for C header
compatibility with C++. Options are c, c_std, and c_global.
These correspond to the source directory's include/c,
diff --git a/libstdc++-v3/doc/html/manual/memory.html b/libstdc++-v3/doc/html/manual/memory.html
index 5b28a5a..1681d98 100644
--- a/libstdc++-v3/doc/html/manual/memory.html
+++ b/libstdc++-v3/doc/html/manual/memory.html
@@ -103,8 +103,9 @@
high-speed extension allocators, covered below. Thus, all
allocation and deallocation depends on the base class.
</p><p>
- The base class that <code class="classname">allocator</code> is derived from
- may not be user-configurable.
+ The choice of base class that <code class="classname">allocator</code>
+ is derived from is fixed at the time when GCC is built,
+ and the different choices are not ABI compatible.
</p></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="allocator.default"></a>Selecting Default Allocation Policy</h5></div></div></div><p>
It's difficult to pick an allocation strategy that will provide
maximum utility, without excessively penalizing some behavior. In
@@ -198,6 +199,10 @@
Probably the best place to start would be to copy one of the
extension allocators: say a simple one like
<code class="classname">new_allocator</code>.
+ </p><p>
+ Since C++11 the minimal interface require for an allocator is
+ much smaller, as <code class="classname">std::allocator_traits</code>
+ can provide default for much of the interface.
</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="allocator.ext"></a>Extension Allocators</h4></div></div></div><p>
Several other allocators are provided as part of this
implementation. The location of the extension allocators and their
@@ -224,9 +229,10 @@
</p></li><li class="listitem"><p>
<code class="classname">debug_allocator</code>
</p><p>
- A wrapper around an arbitrary allocator A. It passes on
- slightly increased size requests to A, and uses the extra
- memory to store size information. When a pointer is passed
+ A wrapper around an arbitrary allocator <code class="classname">A</code>.
+ It passes on slightly increased size requests to <code class="classname">A</code>,
+ and uses the extra memory to store size information.
+ When a pointer is passed
to <code class="function">deallocate()</code>, the stored size is
checked, and <code class="function">assert()</code> is used to
guarantee they match.
@@ -248,41 +254,14 @@
request is passed to <code class="function">::operator new</code>
directly.
</p><p>
- Older versions of this class take a boolean template
- parameter, called <code class="varname">thr</code>, and an integer template
- parameter, called <code class="varname">inst</code>.
+ For thread-enabled configurations, the pool is locked with a
+ single big lock. In some situations, this implementation detail
+ may result in severe performance degradation.
</p><p>
- The <code class="varname">inst</code> number is used to track additional memory
- pools. The point of the number is to allow multiple
- instantiations of the classes without changing the semantics at
- all. All three of
- </p><pre class="programlisting">
- typedef __pool_alloc&lt;true,0&gt; normal;
- typedef __pool_alloc&lt;true,1&gt; private;
- typedef __pool_alloc&lt;true,42&gt; also_private;
- </pre><p>
- behave exactly the same way. However, the memory pool for each type
- (and remember that different instantiations result in different types)
- remains separate.
- </p><p>
- The library uses <span class="emphasis"><em>0</em></span> in all its instantiations. If you
- wish to keep separate free lists for a particular purpose, use a
- different number.
- </p><p>The <code class="varname">thr</code> boolean determines whether the
- pool should be manipulated atomically or not. When
- <code class="varname">thr</code> = <code class="constant">true</code>, the allocator
- is thread-safe, while <code class="varname">thr</code> =
- <code class="constant">false</code>, is slightly faster but unsafe for
- multiple threads.
- </p><p>
- For thread-enabled configurations, the pool is locked with a
- single big lock. In some situations, this implementation detail
- may result in severe performance degradation.
- </p><p>
- (Note that the GCC thread abstraction layer allows us to provide
- safe zero-overhead stubs for the threading routines, if threads
- were disabled at configuration time.)
- </p></li><li class="listitem"><p>
+ (Note that the GCC thread abstraction layer allows us to provide
+ safe zero-overhead stubs for the threading routines, if threads
+ were disabled at configuration time.)
+ </p></li><li class="listitem"><p>
<code class="classname">__mt_alloc</code>
</p><p>
A high-performance fixed-size allocator with
diff --git a/libstdc++-v3/doc/html/manual/mt_allocator.html b/libstdc++-v3/doc/html/manual/mt_allocator.html
index c7786f0..68e7dcc 100644
--- a/libstdc++-v3/doc/html/manual/mt_allocator.html
+++ b/libstdc++-v3/doc/html/manual/mt_allocator.html
@@ -6,12 +6,12 @@
</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="allocator.mt.intro"></a>Intro</h2></div></div></div><p>
The mt allocator [hereinafter referred to simply as "the allocator"]
is a fixed size (power of two) allocator that was initially
- developed specifically to suit the needs of multi threaded
+ developed specifically to suit the needs of multi-threaded
applications [hereinafter referred to as an MT application]. Over
time the allocator has evolved and been improved in many ways, in
- particular it now also does a good job in single threaded
- applications [hereinafter referred to as a ST application]. (Note:
- In this document, when referring to single threaded applications
+ particular it now also does a good job in single-threaded
+ applications [hereinafter referred to as an ST application]. (Note:
+ In this document, when referring to single-threaded applications
this also includes applications that are compiled with gcc without
thread support enabled. This is accomplished using ifdef's on
__GTHREADS). This allocator is tunable, very flexible, and capable
diff --git a/libstdc++-v3/doc/xml/manual/allocator.xml b/libstdc++-v3/doc/xml/manual/allocator.xml
index 1f42941..aaab4e2 100644
--- a/libstdc++-v3/doc/xml/manual/allocator.xml
+++ b/libstdc++-v3/doc/xml/manual/allocator.xml
@@ -154,8 +154,9 @@
</para>
<para>
- The base class that <classname>allocator</classname> is derived from
- may not be user-configurable.
+ The choice of base class that <classname>allocator</classname>
+ is derived from is fixed at the time when GCC is built,
+ and the different choices are not ABI compatible.
</para>
</section>
@@ -314,6 +315,13 @@
<classname>new_allocator</classname>.
</para>
+ <para>
+ Since C++11 the minimal interface require for an allocator is
+ much smaller, as <classname>std::allocator_traits</classname>
+ can provide default for much of the interface.
+ </para>
+
+
</section>
<section xml:id="allocator.ext"><info><title>Extension Allocators</title></info>
@@ -359,9 +367,10 @@
<classname>debug_allocator</classname>
</para>
<para>
- A wrapper around an arbitrary allocator A. It passes on
- slightly increased size requests to A, and uses the extra
- memory to store size information. When a pointer is passed
+ A wrapper around an arbitrary allocator <classname>A</classname>.
+ It passes on slightly increased size requests to <classname>A</classname>,
+ and uses the extra memory to store size information.
+ When a pointer is passed
to <function>deallocate()</function>, the stored size is
checked, and <function>assert()</function> is used to
guarantee they match.
@@ -393,52 +402,16 @@
</para>
<para>
- Older versions of this class take a boolean template
- parameter, called <varname>thr</varname>, and an integer template
- parameter, called <varname>inst</varname>.
+ For thread-enabled configurations, the pool is locked with a
+ single big lock. In some situations, this implementation detail
+ may result in severe performance degradation.
</para>
<para>
- The <varname>inst</varname> number is used to track additional memory
- pools. The point of the number is to allow multiple
- instantiations of the classes without changing the semantics at
- all. All three of
+ (Note that the GCC thread abstraction layer allows us to provide
+ safe zero-overhead stubs for the threading routines, if threads
+ were disabled at configuration time.)
</para>
-
- <programlisting>
- typedef __pool_alloc&lt;true,0&gt; normal;
- typedef __pool_alloc&lt;true,1&gt; private;
- typedef __pool_alloc&lt;true,42&gt; also_private;
- </programlisting>
- <para>
- behave exactly the same way. However, the memory pool for each type
- (and remember that different instantiations result in different types)
- remains separate.
- </para>
- <para>
- The library uses <emphasis>0</emphasis> in all its instantiations. If you
- wish to keep separate free lists for a particular purpose, use a
- different number.
- </para>
- <para>The <varname>thr</varname> boolean determines whether the
- pool should be manipulated atomically or not. When
- <varname>thr</varname> = <constant>true</constant>, the allocator
- is thread-safe, while <varname>thr</varname> =
- <constant>false</constant>, is slightly faster but unsafe for
- multiple threads.
- </para>
-
- <para>
- For thread-enabled configurations, the pool is locked with a
- single big lock. In some situations, this implementation detail
- may result in severe performance degradation.
- </para>
-
- <para>
- (Note that the GCC thread abstraction layer allows us to provide
- safe zero-overhead stubs for the threading routines, if threads
- were disabled at configuration time.)
- </para>
</listitem>
<listitem>
diff --git a/libstdc++-v3/doc/xml/manual/configure.xml b/libstdc++-v3/doc/xml/manual/configure.xml
index cc9c855..8c26acc 100644
--- a/libstdc++-v3/doc/xml/manual/configure.xml
+++ b/libstdc++-v3/doc/xml/manual/configure.xml
@@ -118,12 +118,10 @@
<varlistentry><term><code>--enable-libstdcxx-allocator=OPTION </code></term>
<listitem><para>Select a target-specific underlying std::allocator. The
- choices are 'new' to specify a wrapper for new, 'malloc' to
- specify a wrapper for malloc, 'mt' for a fixed power of two allocator,
- 'pool' for the SGI pooled allocator or 'bitmap' for a bitmap allocator.
- See this page for more information on allocator
- <link linkend="allocator.ext">extensions</link>. This option
- can change the library ABI.
+ choices are 'new' to specify a wrapper for new, and 'malloc' to
+ specify a wrapper for malloc.
+ See <xref linkend="allocator.ext"/> for more information.
+ This option can change the library ABI.
</para>
</listitem></varlistentry>
diff --git a/libstdc++-v3/doc/xml/manual/evolution.xml b/libstdc++-v3/doc/xml/manual/evolution.xml
index 9aef84a..271d222 100644
--- a/libstdc++-v3/doc/xml/manual/evolution.xml
+++ b/libstdc++-v3/doc/xml/manual/evolution.xml
@@ -1033,6 +1033,11 @@ accessors for the unexpected handler are deprecated for C++11 and later.
Dynamic exception specifications should be replaced with <code>noexcept</code>.
</para>
+<para>
+The <literal>bitmap</literal>, <literal>mt</literal>, and <literal>pool</literal>
+options for <option>--enable-libstdcxx-allocator</option> were removed.
+</para>
+
</section>
</section>
diff --git a/libstdc++-v3/doc/xml/manual/mt_allocator.xml b/libstdc++-v3/doc/xml/manual/mt_allocator.xml
index 93504a7..f1c09b3 100644
--- a/libstdc++-v3/doc/xml/manual/mt_allocator.xml
+++ b/libstdc++-v3/doc/xml/manual/mt_allocator.xml
@@ -20,12 +20,12 @@
<para>
The mt allocator [hereinafter referred to simply as "the allocator"]
is a fixed size (power of two) allocator that was initially
- developed specifically to suit the needs of multi threaded
+ developed specifically to suit the needs of multi-threaded
applications [hereinafter referred to as an MT application]. Over
time the allocator has evolved and been improved in many ways, in
- particular it now also does a good job in single threaded
- applications [hereinafter referred to as a ST application]. (Note:
- In this document, when referring to single threaded applications
+ particular it now also does a good job in single-threaded
+ applications [hereinafter referred to as an ST application]. (Note:
+ In this document, when referring to single-threaded applications
this also includes applications that are compiled with gcc without
thread support enabled. This is accomplished using ifdef's on
__GTHREADS). This allocator is tunable, very flexible, and capable