mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 03:47:02 -05:00
libstdc++: Fix memory leak in std::barrier destructor [PR123378]
When I replaced the std::unique_ptr member in r16-997-gef632273a90657 I should have added an explicit delete[] operation to replace the effects of the unique_ptr destructor. libstdc++-v3/ChangeLog: PR libstdc++/123378 * include/std/barrier (~__tree_barrier_base): Define. Reviewed-by: Tomasz Kamiński <tkaminsk@redhat.com>
This commit is contained in:
committed by
Jonathan Wakely
parent
827cd76fa7
commit
5b20eefe0c
@@ -114,6 +114,12 @@ It looks different from literature pseudocode for two main reasons:
|
||||
_M_state.store(_M_alloc_state().release(), memory_order_release);
|
||||
}
|
||||
|
||||
~__tree_barrier_base()
|
||||
{ delete[] _M_state.load(memory_order_relaxed); }
|
||||
|
||||
__tree_barrier_base(const __tree_barrier_base&&) = delete;
|
||||
__tree_barrier_base& operator=(const __tree_barrier_base&&) = delete;
|
||||
|
||||
unique_ptr<__state_t[]>
|
||||
_M_alloc_state()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user