diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2021-12-01 16:30:30 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2021-12-02 16:46:28 +0000 |
commit | e2e98f524fdb80c16e3395f20fee930fbcad5562 (patch) | |
tree | 6a285173800912402eee81d64fcf8d217eb87622 /libstdc++-v3/configure | |
parent | b5a568683f71b4a8b1e4e45a43484398e9a66ff2 (diff) | |
download | gcc-e2e98f524fdb80c16e3395f20fee930fbcad5562.tar.gz |
libstdc++: Remove broken std::allocator base classes [PR103340]
The bitmap_allocator, __mt_alloc and __pool_alloc extensions are no
longer suitable for use as the base class of std::allocator, because
they have not been updated to meet the C++20 requirements. There is a
patch attached to PR 103340 which addresses that, but more work would be
needed to solve the linking errors that occur when the library is
configured to use them.
Using --enable-libstdcxx-allocator=bitmap wouldn't even bootstrap for
the past few years, and I can't find any gcc-testresults reports using
any of these allocators. This patch removes the configure option to use
these as the std::allocator base class. The allocators are still in the
tree and can be used directly, you just can't configure the library to
use one of them as the base class of std::allocator.
libstdc++-v3/ChangeLog:
PR libstdc++/103340
PR libstdc++/103400
PR libstdc++/103381
* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Remove mt, bitmap
and pool options.
* configure: Regenerate.
* config/allocator/bitmap_allocator_base.h: Removed.
* config/allocator/mt_allocator_base.h: Removed.
* config/allocator/pool_allocator_base.h: Removed.
* doc/xml/manual/allocator.xml: Update.
* doc/xml/manual/configure.xml: Update.
* doc/xml/manual/evolution.xml: Document removal.
* doc/xml/manual/mt_allocator.xml: Editorial tweaks.
* doc/html/manual/*: Regenerate.
Diffstat (limited to 'libstdc++-v3/configure')
-rwxr-xr-x | libstdc++-v3/configure | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 9049e4b9864..61a14a2cb3b 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 |