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;