libstdc++: Remove some more unconditional uses of atomics
commitb9b9d0a7db098e2b7e6894dca98ddd551067cad1
authorJonathan Wakely <jwakely@redhat.com>
Tue, 12 Sep 2023 11:04:37 +0000 (12 12:04 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 14 Sep 2023 12:58:34 +0000 (14 13:58 +0100)
tree133cbedcc8174d8e5466d1fd94a794f9b710502f
parent8517317ce8e9fbea0b4c7a8f87a86d07d95dc8c7
libstdc++: Remove some more unconditional uses of atomics

These atomics cause linker errors on arm4t where __sync_synchronize is
not defined. For single-threaded targets we don't need the atomics.

libstdc++-v3/ChangeLog:

* include/experimental/io_context (io_context) [!_GLIBCXX_HAS_GTHREADS]:
Use a plain integer for _M_work_count for single-threaded
targets.
* include/experimental/memory_resource (__get_default_resource)
[!_GLIBCXX_HAS_GTHREADS]: Use unsynchronized type for
single-threaded targets.
* src/c++17/default_resource.h: Adjust preprocessor conditions
to match memory_resource.cc.
* src/c++17/memory_resource.cc [!_GLIBCXX_HAS_GTHREADS]
(atomic_mem_res): Use unsynchronized type for single-threaded
targets.
libstdc++-v3/include/experimental/io_context
libstdc++-v3/include/experimental/memory_resource
libstdc++-v3/src/c++17/default_resource.h
libstdc++-v3/src/c++17/memory_resource.cc