diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2018-08-07 12:31:16 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2018-08-07 12:31:16 +0100 |
commit | ea2329d170827cf9d321324844035a4a2dcfec96 (patch) | |
tree | 62957004c39724b8ca85a29f12c56aa450b58fae /libstdc++-v3/config/abi/pre/gnu.ver | |
parent | 4c9291262affd31e66dec1c8af607e07a8ce2904 (diff) | |
download | gcc-ea2329d170827cf9d321324844035a4a2dcfec96.zip gcc-ea2329d170827cf9d321324844035a4a2dcfec96.tar.gz gcc-ea2329d170827cf9d321324844035a4a2dcfec96.tar.bz2 |
Define monotonic_buffer_resource members out-of-line
Move the allocation logic into libstdc++.so so that it can be changed
without worrying about inlined code in existing binaries.
Leave do_allocate inline so that calls to it can be devirtualized, and
only the slow path needs to call into the library.
* config/abi/pre/gnu.ver: Export monotonic_buffer_resource members.
* include/std/memory_resource (monotonic_buffer_resource::release):
Call _M_release_buffers to free buffers.
(monotonic_buffer_resource::do_allocate): Call _M_new_buffer to
allocate a new buffer from upstream.
(monotonic_buffer_resource::_M_new_buffer): Declare.
(monotonic_buffer_resource::_M_release_buffers): Declare.
(monotonic_buffer_resource::_Chunk): Replace definition with
declaration as opaque type.
* src/c++17/memory_resource.cc (monotonic_buffer_resource::_Chunk):
Define.
(monotonic_buffer_resource::_M_new_buffer): Define.
(monotonic_buffer_resource::_M_release_buffers): Define.
From-SVN: r263354
Diffstat (limited to 'libstdc++-v3/config/abi/pre/gnu.ver')
-rw-r--r-- | libstdc++-v3/config/abi/pre/gnu.ver | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index 36459e8..593783d 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -2043,6 +2043,8 @@ GLIBCXX_3.4.26 { _ZNSt3pmr20null_memory_resourceEv; _ZNSt3pmr20get_default_resourceEv; _ZNSt3pmr20set_default_resourceEPNS_15memory_resourceE; + _ZNSt3pmr25monotonic_buffer_resource13_M_new_bufferE[jmy][jmy]; + _ZNSt3pmr25monotonic_buffer_resource18_M_release_buffersEv; } GLIBCXX_3.4.25; |