From e2e98f524fdb80c16e3395f20fee930fbcad5562 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 1 Dec 2021 16:30:30 +0000 Subject: 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. --- libstdc++-v3/configure | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) (limited to 'libstdc++-v3/configure') 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 -- cgit v1.1