Skip to content

Commit a7c6149

Browse files
committed
stdatomic.h: add atomic definitions for char8_t, char16_t and char32_t
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
1 parent 6837913 commit a7c6149

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

newlib/libc/include/stdatomic.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@
5454
#ifdef __GCC_ATOMIC_CHAR_LOCK_FREE
5555
#define ATOMIC_CHAR_LOCK_FREE __GCC_ATOMIC_CHAR_LOCK_FREE
5656
#endif
57+
#if __ISO_C_VISIBLE >= 2020 && defined(__GCC_ATOMIC_CHAR8_T_LOCK_FREE)
58+
#define ATOMIC_CHAR8_T_LOCK_FREE __GCC_ATOMIC_CHAR8_T_LOCK_FREE
59+
#endif
5760
#ifdef __GCC_ATOMIC_CHAR16_T_LOCK_FREE
5861
#define ATOMIC_CHAR16_T_LOCK_FREE __GCC_ATOMIC_CHAR16_T_LOCK_FREE
5962
#endif
@@ -199,10 +202,11 @@ typedef _Atomic(long) atomic_long;
199202
typedef _Atomic(unsigned long) atomic_ulong;
200203
typedef _Atomic(long long) atomic_llong;
201204
typedef _Atomic(unsigned long long) atomic_ullong;
202-
#if 0
203-
typedef _Atomic(__char16_t) atomic_char16_t;
204-
typedef _Atomic(__char32_t) atomic_char32_t;
205+
#if __ISO_C_VISIBLE >= 2020
206+
typedef _Atomic(unsigned char) atomic_char8_t;
205207
#endif
208+
typedef _Atomic(__char16_t) atomic_char16_t;
209+
typedef _Atomic(__char32_t) atomic_char32_t;
206210
typedef _Atomic(wchar_t) atomic_wchar_t;
207211
typedef _Atomic(int_least8_t) atomic_int_least8_t;
208212
typedef _Atomic(uint_least8_t) atomic_uint_least8_t;

0 commit comments

Comments
 (0)