https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70966
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- Author: redi Date: Fri Oct 12 12:28:30 2018 New Revision: 265085 URL: https://gcc.gnu.org/viewcvs?rev=265085&root=gcc&view=rev Log: PR libstdc++/70966 make pmr::new_delete_resource() immortal Construct the program-wide resource objects using placement new. This means they have dynamic storage duration and won't be destroyed during termination. Backport from mainline 2018-07-24 Jonathan Wakely <jwak...@redhat.com> PR libstdc++/70966 * include/experimental/memory_resource (__get_default_resource): Use placement new to create an object with dynamic storage duration. Backport from mainline 2018-06-20 Jonathan Wakely <jwak...@redhat.com> PR libstdc++/70966 * include/experimental/memory_resource (__resource_adaptor_imp): Add static assertions to enforce requirements on pointer types. (__resource_adaptor_imp::get_allocator()): Add noexcept. (new_delete_resource, null_memory_resource): Return address of an object with dynamic storage duration. (__null_memory_resource): Remove. * testsuite/experimental/memory_resource/70966.cc: New. Added: branches/gcc-8-branch/libstdc++-v3/testsuite/experimental/memory_resource/70966.cc Modified: branches/gcc-8-branch/libstdc++-v3/ChangeLog branches/gcc-8-branch/libstdc++-v3/include/experimental/memory_resource