aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2022-09-09 21:03:58 +0100
committerJonathan Wakely <jwakely@redhat.com>2022-09-09 21:11:14 +0100
commit007680f946eaffa3c6321624129e1ec18e673091 (patch)
tree68df490f738eb53110d1cfaf9242424742b2af3c
parent8298427f6b546cabb853edd45c009cd1967b9d38 (diff)
downloadgcc-007680f946eaffa3c6321624129e1ec18e673091.zip
gcc-007680f946eaffa3c6321624129e1ec18e673091.tar.gz
gcc-007680f946eaffa3c6321624129e1ec18e673091.tar.bz2
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.
-rw-r--r--libstdc++-v3/include/bits/atomic_base.h7
-rw-r--r--libstdc++-v3/testsuite/17_intro/names.cc4
2 files changed, 8 insertions, 3 deletions
diff --git a/libstdc++-v3/include/bits/atomic_base.h b/libstdc++-v3/include/bits/atomic_base.h
index 2931554..6ea3268 100644
--- a/libstdc++-v3/include/bits/atomic_base.h
+++ b/libstdc++-v3/include/bits/atomic_base.h
@@ -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
diff --git a/libstdc++-v3/testsuite/17_intro/names.cc b/libstdc++-v3/testsuite/17_intro/names.cc
index ede2fe8..86fb8f8 100644
--- a/libstdc++-v3/testsuite/17_intro/names.cc
+++ b/libstdc++-v3/testsuite/17_intro/names.cc
@@ -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