diff --git a/include/haproxy/atomic.h b/include/haproxy/atomic.h index 93b143c94..146f2ad77 100644 --- a/include/haproxy/atomic.h +++ b/include/haproxy/atomic.h @@ -199,10 +199,11 @@ #define HA_ATOMIC_LOAD(val) \ ({ \ - typeof(*(val)) ret = \ - ({ __sync_synchronize(); *(volatile typeof(val))val; }); \ + typeof((val)) __val_load = (val); \ + typeof(*(val)) __ret_val = \ + ({ __sync_synchronize(); *(volatile typeof(__val_load))__val_load; }); \ __sync_synchronize(); \ - ret; \ + __ret_val; \ }) #define HA_ATOMIC_STORE(val, new) \