// -*- C++ -*- header.
-// Copyright (C) 2008, 2009
+// Copyright (C) 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
atomic_flag_clear_explicit(__g, __x); \
__r; })
-#define _ATOMIC_STORE_(__a, __m, __x) \
+#define _ATOMIC_STORE_(__a, __n, __x) \
({__typeof__ _ATOMIC_MEMBER_* __p = &_ATOMIC_MEMBER_; \
- __typeof__(__m) __v = (__m); \
+ __typeof__(__n) __w = (__n); \
__atomic_flag_base* __g = __atomic_flag_for_address(__p); \
__atomic_flag_wait_explicit(__g, __x); \
- *__p = __v; \
+ *__p = __w; \
atomic_flag_clear_explicit(__g, __x); \
- __v; })
+ __w; })
-#define _ATOMIC_MODIFY_(__a, __o, __m, __x) \
+#define _ATOMIC_MODIFY_(__a, __o, __n, __x) \
({__typeof__ _ATOMIC_MEMBER_* __p = &_ATOMIC_MEMBER_; \
- __typeof__(__m) __v = (__m); \
+ __typeof__(__n) __w = (__n); \
__atomic_flag_base* __g = __atomic_flag_for_address(__p); \
__atomic_flag_wait_explicit(__g, __x); \
__typeof__ _ATOMIC_MEMBER_ __r = *__p; \
- *__p __o __v; \
+ *__p __o __w; \
atomic_flag_clear_explicit(__g, __x); \
__r; })
-#define _ATOMIC_CMPEXCHNG_(__a, __e, __m, __x) \
+#define _ATOMIC_CMPEXCHNG_(__a, __e, __n, __x) \
({__typeof__ _ATOMIC_MEMBER_* __p = &_ATOMIC_MEMBER_; \
__typeof__(__e) __q = (__e); \
- __typeof__(__m) __v = (__m); \
+ __typeof__(__n) __w = (__n); \
bool __r; \
__atomic_flag_base* __g = __atomic_flag_for_address(__p); \
__atomic_flag_wait_explicit(__g, __x); \
__typeof__ _ATOMIC_MEMBER_ __t__ = *__p; \
- if (__t__ == *__q) { *__p = __v; __r = true; } \
+ if (__t__ == *__q) { *__p = __w; __r = true; } \
else { *__q = __t__; __r = false; } \
atomic_flag_clear_explicit(__g, __x); \
__r; })