libstdc++: Rename parameter to avoid darwin __weak qualifier

libstdc++-v3/ChangeLog:

	* include/bits/atomic_base.h (__atomic_impl::__compare_exchange):
	Rename __weak to __is_weak.
	* testsuite/17_intro/names.cc: Add __weak and __strong.
This commit is contained in:
Jonathan Wakely 2022-09-09 21:03:58 +01:00
parent 8298427f6b
commit 007680f946
2 changed files with 8 additions and 3 deletions

View file

@ -990,7 +990,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp>
_GLIBCXX_ALWAYS_INLINE bool
__compare_exchange(_Tp& __val, _Val<_Tp>& __e, _Val<_Tp>& __i,
bool __weak, memory_order __s, memory_order __f) noexcept
bool __is_weak,
memory_order __s, memory_order __f) noexcept
{
__glibcxx_assert(__is_valid_cmpexch_failure_order(__f));
@ -1005,7 +1006,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__atomic_impl::__clear_padding(*__exp);
if (__atomic_compare_exchange(std::__addressof(__val), __exp,
__atomic_impl::__clear_padding(__i),
__weak, int(__s), int(__f)))
__is_weak, int(__s), int(__f)))
return true;
__builtin_memcpy(std::__addressof(__e), __exp, sizeof(_Vp));
return false;
@ -1014,7 +1015,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return __atomic_compare_exchange(std::__addressof(__val),
std::__addressof(__e),
std::__addressof(__i),
__weak, int(__s), int(__f));
__is_weak, int(__s), int(__f));
}
} // namespace __atomic_impl

View file

@ -129,6 +129,10 @@
// This clashes with newlib so don't use it.
# define __lockable cannot be used as an identifier
#ifndef __APPLE__
#define __weak predefined qualifier on darwin
#define __strong predefined qualifier on darwin
#endif
// Common template parameter names
#define OutputIterator OutputIterator is not a reserved name