[clang] [Clang] [C23] Implement N2653: u8 strings are char8_t[] (PR #97208)
Mital Ashok via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 3 06:17:18 PDT 2024
================
@@ -104,6 +107,7 @@ typedef _Atomic(long) atomic_long;
typedef _Atomic(unsigned long) atomic_ulong;
typedef _Atomic(long long) atomic_llong;
typedef _Atomic(unsigned long long) atomic_ullong;
+typedef _Atomic(unsigned char) atomic_char8_t;
typedef _Atomic(uint_least16_t) atomic_char16_t;
typedef _Atomic(uint_least32_t) atomic_char32_t;
----------------
MitalAshok wrote:
It seems like this header doesn't properly implement [P0943R6](https://wg21.link/P0943R6) in C++23 (Where `#define _Atomic(T) std::atomic<T>` and all these typedefs should just be `using std::atomic_*`.
So `::atomic_char8_t` should be `std::atomic<char8_t>`, not `std::atomic<unsigned char>` (nor `unsigned char _Atomic`), but that is outside the scope of this PR. I'll just make this match the surrounding typedefs for now.
https://github.com/llvm/llvm-project/pull/97208
More information about the cfe-commits
mailing list