[cfe-dev] atomic_bool missing

Gordon Henriksen gordonhenriksen at me.com
Thu Dec 20 14:54:00 PST 2012


Seems libc++ <atomic> is missing 'typedef atomic<bool> atomic_bool;'. This
requirement is easy to overlook in the text of the standard.

    [§29.5p7] There shall be named types corresponding to the integral
    specializations of atomic, as specified in Table 145, and a named type
                                                          ^^^^^^^^^^^^^^^^
    atomic_bool corresponding to the specified atomic<bool>. Each named type is
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    a either typedef to the corresponding specialization or a base class of the
    corresponding specialization. If it is a base class, it shall support the
    same member functions as the corresponding specialization.

         Table 145 — atomic integral typedefs

        Named type       Integral argument type 
        ---------------  ----------------------
        atomic_char      char
        atomic_schar     signed char
        atomic_uchar     unsigned char
        atomic_short     short
        atomic_ushort    unsigned short
        atomic_int       int
        atomic_uint      unsigned int
        atomic_long      long
        atomic_ulong     unsigned long
        atomic_llong     long long
        atomic_ullong    unsigned long long
        atomic_char16_t  char16_t
        atomic_char32_t  char32_t
        atomic_wchar_t   wchar_t

— Gordon





More information about the cfe-dev mailing list