make it so that
if (foo)
RMB;
else
MB;
is always done correctly and without syntax surprises
*/
#ifdef __GNUC__
-#define MB __asm__ __volatile__("": : :"memory")
-#define WMB __asm__ __volatile__("": : :"memory")
+#define MB do { __asm__ __volatile__("": : :"memory"); } while (0)
+#define WMB do { __asm__ __volatile__("": : :"memory"); } while (0)
#else
-#define MB
-#define WMB
+#define MB do {} while (0)
+#define WMB do {} while (0)
#endif
static void __inline blas_lock(volatile BLASULONG *address){