Title
<stdatomic.h> should provide `ATOMIC_CHAR8_T_LOCK_FREE`
Status
ready
Section
[stdatomic.h.syn]
Submitter
Jiang An

Created on 2025-11-21.00:00:00 last changed 7 days ago

Messages

Date: 2025-12-04.17:43:46

Proposed resolution:

This wording is relative to N5014.

  1. Modify [stdatomic.h.syn], header <stdatomic.h> synopsis, as indicated:

    template<class T>
      using std-atomic = std::atomic<T>; // exposition only
    
    #define _Atomic(T) std-atomic<T>
    
    #define ATOMIC_BOOL_LOCK_FREE see below
    #define ATOMIC_CHAR_LOCK_FREE see below
    #define ATOMIC_CHAR8_T_LOCK_FREE see below
    #define ATOMIC_CHAR16_T_LOCK_FREE see below
    #define ATOMIC_CHAR32_T_LOCK_FREE see below
    #define ATOMIC_WCHAR_T_LOCK_FREE see below
    #define ATOMIC_SHORT_LOCK_FREE see below
    #define ATOMIC_INT_LOCK_FREE see below
    #define ATOMIC_LONG_LOCK_FREE see below
    #define ATOMIC_LLONG_LOCK_FREE see below
    #define ATOMIC_POINTER_LOCK_FREE see below
    
    […]
    
Date: 2025-12-15.00:00:00

[ 2025-12-04; Reflector poll. ]

Set status to Tentatively Ready after seven votes in favour during reflector poll.

Date: 2025-11-21.00:00:00

Currently, <stdatomic.h> is specified to provide `atomic_char8_t` but not its corresponding `ATOMIC_CHAR8_T_LOCK_FREE` macro, which is self-inconsistent. Also, given WG14 N2653 added `ATOMIC_CHAR8_T_LOCK_FREE` to C's <stdatomic.h> in C23, perhaps C++ should do the same thing in the spirit of P3348R4.

History
Date User Action Args
2025-12-04 17:43:46adminsetmessages: + msg15778
2025-12-04 17:43:46adminsetstatus: new -> ready
2025-11-23 09:57:31adminsetmessages: + msg15758
2025-11-21 00:00:00admincreate