]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: Relax memory ordering for default memory resource object
authorJonathan Wakely <jwakely@redhat.com>
Tue, 17 May 2022 15:17:21 +0000 (16:17 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 17 May 2022 19:53:40 +0000 (20:53 +0100)
commitddb1427defe95341ac2eb672e7bea7303f8c7db9
tree90c89ddc1745b295c25b34ea1d879f4fb6f556c2
parent5c2d703e6d6d47f41635ca4df06c555010462081
libstdc++: Relax memory ordering for default memory resource object

Currently pmr::set_default_resource and pmr::get_default_resource both
use sequentially consistent memory ordering. This is overkill. The
standard only requires that a call to set_default_resource synchronizes
with subsequent calls to set_default_resource and get_default_resource.

Using acquire-release for the setter and acquire for the getter is
sufficient to meet the requirement.

Reviewed-by: Thomas Rodgers <trodgers@redhat.com>
libstdc++-v3/ChangeLog:

* src/c++17/memory_resource.cc (set_default_resource): Use
memory_order_acq_rel.
(get_default_resource): Use memory_order_acquire.
libstdc++-v3/src/c++17/memory_resource.cc