Pr 51102 points out that a newish DR added these two macros into the standard.

Bootstrapped and no new regressions.  Checking in as trivial.

Andrew
        * include/bits/atomic_base.h (ATOMIC_BOOL_LOCK_FREE,
        ATOMIC_POINTER_LOCK_FREE): New. Add missing macros.

Index: include/bits/atomic_base.h
===================================================================
*** include/bits/atomic_base.h  (revision 181350)
--- include/bits/atomic_base.h  (working copy)
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 93,98 ****
--- 93,99 ----
  
  #define LOCKFREE_PROP(T) (__atomic_always_lock_free (sizeof (T), 0) ? 2 : 1)
  
+ #define ATOMIC_BOOL_LOCK_FREE         LOCKFREE_PROP (bool)
  #define ATOMIC_CHAR_LOCK_FREE                 LOCKFREE_PROP (char)
  #define ATOMIC_CHAR16_T_LOCK_FREE     LOCKFREE_PROP (char16_t)
  #define ATOMIC_CHAR32_T_LOCK_FREE     LOCKFREE_PROP (char32_t)
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 101,107 ****
  #define ATOMIC_INT_LOCK_FREE          LOCKFREE_PROP (int)
  #define ATOMIC_LONG_LOCK_FREE         LOCKFREE_PROP (long)
  #define ATOMIC_LLONG_LOCK_FREE                LOCKFREE_PROP (long long)
! 
  
    // Base types for atomics.
    template<typename _IntTp>
--- 102,108 ----
  #define ATOMIC_INT_LOCK_FREE          LOCKFREE_PROP (int)
  #define ATOMIC_LONG_LOCK_FREE         LOCKFREE_PROP (long)
  #define ATOMIC_LLONG_LOCK_FREE                LOCKFREE_PROP (long long)
! #define ATOMIC_POINTER_LOCK_FREE      LOCKFREE_PROP (void *)
  
    // Base types for atomics.
    template<typename _IntTp>

Reply via email to