summaryrefslogtreecommitdiff
path: root/libstdc++-v3/configure
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2021-12-01 16:30:30 +0000
committerJonathan Wakely <jwakely@redhat.com>2021-12-02 16:46:28 +0000
commite2e98f524fdb80c16e3395f20fee930fbcad5562 (patch)
tree6a285173800912402eee81d64fcf8d217eb87622 /libstdc++-v3/configure
parentb5a568683f71b4a8b1e4e45a43484398e9a66ff2 (diff)
downloadgcc-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-xlibstdc++-v3/configure14
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