Loading...
Searching...
No Matches
c11_atomics_compat_cpu.hpp
1
6#pragma once
7
8#define ATOMIC_BOOL_SIZE (1U)
9#define ATOMIC_BOOL_SAME_SIZED_TYPE uint8_t
10#define ATOMIC_CHAR_SIZE (1U)
11#define ATOMIC_CHAR_SAME_SIZED_TYPE uint8_t
12#define ATOMIC_SCHAR_SIZE (1U)
13#define ATOMIC_SCHAR_SAME_SIZED_TYPE uint8_t
14#define ATOMIC_UCHAR_SIZE (1U)
15#define ATOMIC_UCHAR_SAME_SIZED_TYPE uint8_t
16#define ATOMIC_SHORT_SIZE (2U)
17#define ATOMIC_SHORT_SAME_SIZED_TYPE uint16_t
18#define ATOMIC_USHORT_SIZE (2U)
19#define ATOMIC_USHORT_SAME_SIZED_TYPE uint16_t
20#define ATOMIC_INT_SIZE (4U)
21#define ATOMIC_INT_SAME_SIZED_TYPE uint32_t
22#define ATOMIC_UINT_SIZE (4U)
23#define ATOMIC_UINT_SAME_SIZED_TYPE uint32_t
24#ifdef __x86_64__
25#define ATOMIC_LONG_SIZE (8U)
26#define ATOMIC_LONG_SAME_SIZED_TYPE uint64_t
27#define ATOMIC_ULONG_SIZE (8U)
28#define ATOMIC_ULONG_SAME_SIZED_TYPE uint64_t
29#else
30#define ATOMIC_LONG_SIZE (4U)
31#define ATOMIC_LONG_SAME_SIZED_TYPE uint32_t
32#define ATOMIC_ULONG_SIZE (4U)
33#define ATOMIC_ULONG_SAME_SIZED_TYPE uint32_t
34#endif
35#define ATOMIC_LLONG_SIZE (8U)
36#define ATOMIC_LLONG_SAME_SIZED_TYPE uint64_t
37#define ATOMIC_ULLONG_SIZE (8U)
38#define ATOMIC_ULLONG_SAME_SIZED_TYPE uint64_t
39#define ATOMIC_INT_LEAST8_T_SIZE (1U)
40#define ATOMIC_INT_LEAST8_T_SAME_SIZED_TYPE uint8_t
41#define ATOMIC_UINT_LEAST8_T_SIZE (1U)
42#define ATOMIC_UINT_LEAST8_T_SAME_SIZED_TYPE uint8_t
43#define ATOMIC_INT_LEAST16_T_SIZE (2U)
44#define ATOMIC_INT_LEAST16_T_SAME_SIZED_TYPE uint16_t
45#define ATOMIC_UINT_LEAST16_T_SIZE (2U)
46#define ATOMIC_UINT_LEAST16_T_SAME_SIZED_TYPE uint16_t
47#define ATOMIC_INT_LEAST32_T_SIZE (4U)
48#define ATOMIC_INT_LEAST32_T_SAME_SIZED_TYPE uint32_t
49#define ATOMIC_UINT_LEAST32_T_SIZE (4U)
50#define ATOMIC_UINT_LEAST32_T_SAME_SIZED_TYPE uint32_t
51#define ATOMIC_INT_LEAST64_T_SIZE (8U)
52#define ATOMIC_INT_LEAST64_T_SAME_SIZED_TYPE uint64_t
53#define ATOMIC_UINT_LEAST64_T_SIZE (8U)
54#define ATOMIC_UINT_LEAST64_T_SAME_SIZED_TYPE uint64_t
55#ifdef __FreeBSD__
56#define ATOMIC_INT_FAST8_T_SIZE (4U)
57#define ATOMIC_INT_FAST8_T_SAME_SIZED_TYPE uint32_t
58#define ATOMIC_UINT_FAST8_T_SIZE (4U)
59#define ATOMIC_UINT_FAST8_T_SAME_SIZED_TYPE uint32_t
60#else
61#define ATOMIC_INT_FAST8_T_SIZE (1U)
62#define ATOMIC_INT_FAST8_T_SAME_SIZED_TYPE uint8_t
63#define ATOMIC_UINT_FAST8_T_SIZE (1U)
64#define ATOMIC_UINT_FAST8_T_SAME_SIZED_TYPE uint8_t
65#endif
66#ifdef __x86_64__
67#define ATOMIC_INT_FAST16_T_SIZE (8U)
68#define ATOMIC_INT_FAST16_T_SAME_SIZED_TYPE uint64_t
69#define ATOMIC_UINT_FAST16_T_SIZE (8U)
70#define ATOMIC_UINT_FAST16_T_SAME_SIZED_TYPE uint64_t
71#define ATOMIC_INT_FAST32_T_SIZE (8U)
72#define ATOMIC_INT_FAST32_T_SAME_SIZED_TYPE uint64_t
73#define ATOMIC_UINT_FAST32_T_SIZE (8U)
74#define ATOMIC_UINT_FAST32_T_SAME_SIZED_TYPE uint64_t
75#else
76#define ATOMIC_INT_FAST16_T_SIZE (4U)
77#define ATOMIC_INT_FAST16_T_SAME_SIZED_TYPE uint32_t
78#define ATOMIC_UINT_FAST16_T_SIZE (4U)
79#define ATOMIC_UINT_FAST16_T_SAME_SIZED_TYPE uint32_t
80#define ATOMIC_INT_FAST32_T_SIZE (4U)
81#define ATOMIC_INT_FAST32_T_SAME_SIZED_TYPE uint32_t
82#define ATOMIC_UINT_FAST32_T_SIZE (4U)
83#define ATOMIC_UINT_FAST32_T_SAME_SIZED_TYPE uint32_t
84#endif
85#define ATOMIC_INT_FAST64_T_SIZE (8U)
86#define ATOMIC_INT_FAST64_T_SAME_SIZED_TYPE uint64_t
87#define ATOMIC_UINT_FAST64_T_SIZE (8U)
88#define ATOMIC_UINT_FAST64_T_SAME_SIZED_TYPE uint64_t
89#ifdef __x86_64__
90#define ATOMIC_INTPTR_T_SIZE (8U)
91#define ATOMIC_INTPTR_T_SAME_SIZED_TYPE uint64_t
92#define ATOMIC_UINTPTR_T_SIZE (8U)
93#define ATOMIC_UINTPTR_T_SAME_SIZED_TYPE uint64_t
94#define ATOMIC_SIZE_T_SIZE (8U)
95#define ATOMIC_SIZE_T_SAME_SIZED_TYPE uint64_t
96#else
97#define ATOMIC_INTPTR_T_SIZE (4U)
98#define ATOMIC_INTPTR_T_SAME_SIZED_TYPE uint32_t
99#define ATOMIC_UINTPTR_T_SIZE (4U)
100#define ATOMIC_UINTPTR_T_SAME_SIZED_TYPE uint32_t
101#define ATOMIC_SIZE_T_SIZE (4U)
102#define ATOMIC_SIZE_T_SAME_SIZED_TYPE uint32_t
103#endif
104#define ATOMIC_PTRDIFF_T_SIZE (8U)
105#define ATOMIC_PTRDIFF_T_SAME_SIZED_TYPE uint64_t
106#define ATOMIC_INTMAX_T_SIZE (8U)
107#define ATOMIC_INTMAX_T_SAME_SIZED_TYPE uint64_t
108#define ATOMIC_UINTMAX_T_SIZE (8U)
109#define ATOMIC_UINTMAX_T_SAME_SIZED_TYPE uint64_t