Peter Trommler pushed to branch wip/T27135 at Glasgow Haskell Compiler / GHC

Commits:

1 changed file:

Changes:

  • rts/include/stg/SMP.h
    ... ... @@ -500,7 +500,7 @@ busy_wait_nop(void)
    500 500
     // Relaxed atomic operations.
    
    501 501
     #define RELAXED_LOAD(ptr) atomic_load_explicit(ptr, memory_order_relaxed)
    
    502 502
     #define RELAXED_STORE(ptr,val) atomic_store_explicit(ptr, val, memory_order_relaxed)
    
    503
    -#define RELAXED_ADD(ptr,val) (atomic_fetch_add_explicit(ptr, val, memory_order_relaxed) + val)
    
    503
    +#define RELAXED_ADD(ptr,val) atomic_fetch_add_explicit(ptr, val, memory_order_relaxed)
    
    504 504
     
    
    505 505
     // Acquire/release atomic operations
    
    506 506
     #define ACQUIRE_LOAD(ptr) atomic_load_explicit(ptr, memory_order_acquire)
    
    ... ... @@ -509,7 +509,7 @@ busy_wait_nop(void)
    509 509
     // Sequentially consistent atomic operations
    
    510 510
     #define SEQ_CST_LOAD(ptr) atomic_load(ptr)
    
    511 511
     #define SEQ_CST_STORE(ptr,val) atomic_store(ptr, val)
    
    512
    -#define SEQ_CST_ADD(ptr,val) (atomic_fetch_add(ptr, val) + val)
    
    512
    +#define SEQ_CST_ADD(ptr,val) atomic_fetch_add(ptr, val)
    
    513 513
     
    
    514 514
     // Non-atomic addition for "approximate" counters that can be lossy
    
    515 515
     #define NONATOMIC_ADD(ptr,val) RELAXED_STORE(ptr, RELAXED_LOAD(ptr) + val)