diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2022-10-12 23:04:53 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2022-10-14 15:35:41 +0100 |
commit | 0dd9dd1fdfca1219bbe3ac460b50c6776b427119 (patch) | |
tree | d658f3094b09bfea5263f7b42d258232001cf18c /gcc | |
parent | cf0b7e9787c3686c47219a725f2cbcaa19faaaca (diff) | |
download | gcc-0dd9dd1fdfca1219bbe3ac460b50c6776b427119.zip gcc-0dd9dd1fdfca1219bbe3ac460b50c6776b427119.tar.gz gcc-0dd9dd1fdfca1219bbe3ac460b50c6776b427119.tar.bz2 |
libstdc++: Disable all emergency EH pool code if obj-count == 0
For a zero-sized static pool we can completely elide all code for the EH
pool.
We no longer need to adjust the static buffer size to ensure at least
one free_entry can be created in it, because we no longer use a static
buffer at all if obj_count == 0. If the buffer exists, obj_count >= 1
and the buffer will be much larger than sizeof(free_entry).
libstdc++-v3/ChangeLog:
* libsupc++/eh_alloc.cc [USE_POOL]: New macro.
[!USE_POOL] (__gnu_cxx::__freeres, pool): Do not define.
[_GLIBCXX_EH_POOL_STATIC] (pool::arena): Do not use std::max.
(__cxxabiv1::__cxa_allocate_exception) [!USE_POOL]: Do not use
pool.
(__cxxabiv1::__cxa_free_exception) [!USE_POOL]: Likewise.
(__cxxabiv1::__cxa_allocate_dependent_exception) [!USE_POOL]:
Likewise.
(__cxxabiv1::__cxa_free_dependent_exception) [!USE_POOL]:
Likewise.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions