gcc/libstdc++-v3/include/bits
Jonathan Wakely 89cf858571 libstdc++: Implement std::atomic<T*>::compare_exchange_weak
For some reason r170217 didn't add compare_exchange_weak to the
__atomic_base<T*> partial specialization, and so weak compare exchange
operations on pointers use compare_exchange_strong instead.

This adds __atomic_base<T*>::compare_exchange_weak and then uses it in
std::atomic<T*>::compare_exchange_weak.

Signed-off-by: Jonathan Wakely <jwakely@redhat.com>

libstdc++-v3/ChangeLog:

	* include/bits/atomic_base.h (__atomic_base<P*>::compare_exchange_weak):
	Add new functions.
	* include/std/atomic (atomic<T*>::compare_exchange_weak): Use
	it.
2021-09-02 18:22:33 +01:00
..
algorithmfwd.h
align.h
alloc_traits.h libstdc++: Fix std::allocator<void> for versioned namespace 2021-08-28 14:37:19 +01:00
allocated_ptr.h
allocator.h libstdc++: Fix std::allocator<void> for versioned namespace 2021-08-28 14:37:19 +01:00
atomic_base.h libstdc++: Implement std::atomic<T*>::compare_exchange_weak 2021-09-02 18:22:33 +01:00
atomic_futex.h
atomic_timed_wait.h libstdc++: Add missing return for atomic timed wait [PR102074] 2021-08-31 17:36:12 +01:00
atomic_wait.h
basic_ios.h
basic_ios.tcc
basic_string.h
basic_string.tcc
boost_concept_check.h
c++0x_warning.h
c++config libstdc++: Deprecate std::random_shuffle for C++14 2021-08-03 15:30:35 +01:00
char_traits.h
charconv.h
codecvt.h
concept_check.h
cow_string.h libstdc++: Only define basic_string::contains for C++23 2021-08-17 14:22:50 +01:00
cpp_type_traits.h
deque.tcc
enable_special_members.h
erase_if.h
forward_list.h libstdc++: Add [[nodiscard]] to sequence containers 2021-08-04 12:54:29 +01:00
forward_list.tcc
fs_dir.h
fs_fwd.h
fs_ops.h
fs_path.h
fstream.tcc
functexcept.h
functional_hash.h
gslice_array.h
gslice.h
hashtable_policy.h
hashtable.h
indirect_array.h
invoke.h
ios_base.h
istream.tcc
iterator_concepts.h libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
list.tcc
locale_classes.h
locale_classes.tcc
locale_conv.h libstdc++: Avoid using std::unique_ptr in <locale> 2021-08-03 15:06:56 +01:00
locale_facets_nonio.h
locale_facets_nonio.tcc
locale_facets.h
locale_facets.tcc
localefwd.h
mask_array.h
max_size_type.h
memoryfwd.h
move.h
node_handle.h
ostream_insert.h
ostream.tcc
parse_numbers.h
postypes.h
predefined_ops.h
ptr_traits.h
quoted_string.h
random.h
random.tcc libstdc++: Optimize std::seed_seq construction 2021-08-17 16:53:19 +01:00
range_access.h libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
ranges_algo.h libstdc++: Add missing std::move to ranges::copy/move/reverse_copy [PR101599] 2021-08-02 15:30:15 -04:00
ranges_algobase.h libstdc++: Add missing std::move to ranges::copy/move/reverse_copy [PR101599] 2021-08-02 15:30:15 -04:00
ranges_base.h libstdc++: Move [[nodiscard]] attributes again [PR101782] 2021-08-05 19:01:51 +01:00
ranges_cmp.h
ranges_uninitialized.h
ranges_util.h libstdc++: Rename __detail::__not_same_as helper 2021-08-17 14:22:49 +01:00
refwrap.h
regex_automaton.h
regex_automaton.tcc libstdc++: Reduce use of debug containers in <regex> 2021-08-09 20:46:56 +01:00
regex_compiler.h libstdc++: Reduce use of debug containers in <regex> 2021-08-09 20:46:56 +01:00
regex_compiler.tcc
regex_constants.h
regex_error.h
regex_executor.h libstdc++: Reduce use of debug containers in <regex> 2021-08-09 20:46:56 +01:00
regex_executor.tcc libstdc++: Reduce header dependencies in <regex> 2021-08-03 15:24:52 +01:00
regex_scanner.h
regex_scanner.tcc libstdc++: Reduce header dependencies in <regex> 2021-08-03 15:24:52 +01:00
regex.h libstdc++: Reduce use of debug containers in <regex> 2021-08-09 20:46:56 +01:00
regex.tcc libstdc++: Reduce use of debug containers in <regex> 2021-08-09 20:46:56 +01:00
semaphore_base.h
shared_ptr_atomic.h
shared_ptr_base.h
shared_ptr.h libstdc++: Improve doxygen docs for smart pointers 2021-08-19 13:02:12 +01:00
slice_array.h
specfun.h
sstream.tcc
std_abs.h
std_function.h libstdc++: Name std::function template parameter 2021-08-28 11:52:22 +01:00
std_mutex.h
std_thread.h
stl_algo.h libstdc++: Enable doxygen processing for C++20 components 2021-08-18 15:02:31 +01:00
stl_algobase.h
stl_bvector.h libstdc++: Add [[nodiscard]] to sequence containers 2021-08-04 12:54:29 +01:00
stl_construct.h
stl_deque.h libstdc++: Add [[nodiscard]] to sequence containers 2021-08-04 12:54:29 +01:00
stl_function.h libstdc++: Improve doxygen comments in <bits/stl_function.h> 2021-08-18 15:07:16 +01:00
stl_heap.h
stl_iterator_base_funcs.h libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
stl_iterator_base_types.h
stl_iterator.h libstdc++: Move [[nodiscard]] attributes again [PR101782] 2021-08-05 19:01:51 +01:00
stl_list.h libstdc++: Add [[nodiscard]] to sequence containers 2021-08-04 12:54:29 +01:00
stl_map.h
stl_multimap.h
stl_multiset.h
stl_numeric.h
stl_pair.h
stl_queue.h libstdc++: Move [[nodiscard]] attributes again [PR101782] 2021-08-05 19:01:51 +01:00
stl_raw_storage_iter.h
stl_relops.h
stl_set.h
stl_stack.h libstdc++: Add [[nodiscard]] to sequence containers 2021-08-04 12:54:29 +01:00
stl_tempbuf.h
stl_tree.h libstdc++: Tweak whitespace 2021-08-19 13:02:11 +01:00
stl_uninitialized.h libstdc++: Fix comment typo 2021-08-28 11:52:22 +01:00
stl_vector.h libstdc++: Add [[nodiscard]] to sequence containers 2021-08-04 12:54:29 +01:00
stream_iterator.h libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
streambuf_iterator.h libstdc++: Add [[nodiscard]] to iterators and related utilities 2021-08-04 12:54:28 +01:00
streambuf.tcc
string_view.tcc
stringfwd.h
this_thread_sleep.h
uniform_int_dist.h
unique_lock.h
unique_ptr.h libstdc:: Use markdown for Doxygen comments in std::function 2021-08-27 00:12:54 +01:00
unordered_map.h
unordered_set.h
uses_allocator_args.h
uses_allocator.h
utility.h
valarray_after.h
valarray_array.h
valarray_array.tcc
valarray_before.h
vector.tcc