avoid multiple evaluation of STORE_SHARED argument
[urcu.git] / urcu / system.h
index e36a13baf51dc79a8ad9b31351a75a1c3ed775b6..0c3152f63f20f018df833c269efc0df531f3b682 100644 (file)
@@ -46,9 +46,9 @@
  */
 #define STORE_SHARED(x, v)             \
        ({                              \
  */
 #define STORE_SHARED(x, v)             \
        ({                              \
-               _STORE_SHARED(x, v);    \
+               typeof(x) _v = _STORE_SHARED(x, v);     \
                smp_wmc();              \
                smp_wmc();              \
-               (v);                    \
+               _v;                     \
        })
 
 #endif /* _URCU_SYSTEM_H */
        })
 
 #endif /* _URCU_SYSTEM_H */
This page took 0.022214 seconds and 4 git commands to generate.