chiark / gitweb /
@@@ more mess
[mLib] / utils / macros.h
index 5b772252cc940a33be8b2b0e8c2baabdbfac63c6..2ca5a06c2d316deb25d98f4baa865f2dbe98f10e 100644 (file)
 #  define LAUNDER(x)                                                   \
        ({ __typeof__(x) _y; __asm__("" : "=g"(_y) : "0"(x)); _y; })
 #  define ADMIRE(x)                                                    \
-       ({ __asm__("" : : "g"(x)); })
+       ({ __asm__("" :: "g"(x)); })
 #  define ADMIRE_BUF(p, sz)                                            \
-       ({ __asm__("" : : "g"(p), "g"(sz)); })
-#  define RELAX do __asm__ __volatile__("" ::: "memory"); while (0)
+       ({ __asm__("" :: "m"(*(unsigned char *)p), "g"(sz) : "memory"); })
+#  define RELAX do __asm__(""); while (0)
 #endif
 
 #if CLANG_VERSION_P(3, 3)