30 #ifndef _CXXABI_TWEAKS_H
31 #define _CXXABI_TWEAKS_H 1
43 #define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0)
44 #define _GLIBCXX_GUARD_SET(x) *(x) = 1
45 #define _GLIBCXX_GUARD_BIT 1
46 #define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1)
47 #define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1)
50 #define _GLIBCXX_GUARD_TEST_AND_ACQUIRE(x) \
51 ((__atomic_load_n(x, __ATOMIC_ACQUIRE) & 1) != 0)
52 #define _GLIBCXX_GUARD_SET_AND_RELEASE(x) \
53 __atomic_store_n(x, 1, __ATOMIC_RELEASE)
56 #define _GLIBCXX_ELTSIZE_IN_COOKIE 1
59 typedef void * __cxa_vec_ctor_return_type;
60 #define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x
62 typedef void * __cxa_cdtor_return_type;
67 #define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0)
68 #define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1
69 #define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1)
70 #define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1)
71 #define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1)
72 __extension__
typedef int __guard __attribute__((mode (__DI__)));
75 typedef void __cxa_vec_ctor_return_type;
76 #define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return
78 typedef void __cxa_cdtor_return_type;