[Bug libstdc++/70940] pmr::resource_adaptor requires optional allocator requirements and incorrectly aligns returned pointers.
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jun 21 14:01:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70940
--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Thu Jun 21 14:01:11 2018
New Revision: 261849
URL: https://gcc.gnu.org/viewcvs?rev=261849&root=gcc&view=rev
Log:
PR libstdc++/70940 make pmr::resource_adaptor return aligned memory
PR libstdc++/70940
* include/experimental/memory_resource (__resource_adaptor_common):
New base class.
(__resource_adaptor_common::_AlignMgr): Helper for obtaining aligned
pointer from unaligned, and vice versa.
(__resource_adaptor_imp::do_allocate): Use _AlignMgr to adjust
allocated pointer to meet alignment request.
(__resource_adaptor_imp::do_deallocate): Use _AlignMgr to retrieve
original pointer for deallocation.
(__resource_adaptor_imp::do_is_equal): Reformat.
(__resource_adaptor_imp::_S_aligned_size): Remove.
(__resource_adaptor_imp::_S_supported): Remove.
(new_delete_resource): Use __gnu_cxx::new_allocator.
* testsuite/experimental/memory_resource/resource_adaptor.cc: Test
extended alignments and use debug_allocator to check for matching
allocate/deallocate pairs.
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/experimental/memory_resource
trunk/libstdc++-v3/testsuite/experimental/memory_resource/resource_adaptor.cc
More information about the Gcc-bugs
mailing list