Skip to content
Snippets Groups Projects
  • Jonathan Wakely's avatar
    e2e98f52
    libstdc++: Remove broken std::allocator base classes [PR103340] · e2e98f52
    Jonathan Wakely authored
    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.
    e2e98f52
    History
    libstdc++: Remove broken std::allocator base classes [PR103340]
    Jonathan Wakely authored
    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.