Use __asm__ instead of asm
authorMatthias Clasen <mclasen@redhat.com>
Mon, 20 Jan 2014 13:43:02 +0000 (08:43 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 20 Jan 2014 13:43:02 +0000 (08:43 -0500)
This is a little more robust as various compiler flags make
gcc forget about asm.

https://bugzilla.gnome.org/show_bug.cgi?id=693299

glib/gbitlock.c

index e183d39..12075c9 100644 (file)
@@ -208,12 +208,12 @@ g_bit_lock (volatile gint *address,
 {
 #ifdef USE_ASM_GOTO
  retry:
-  asm volatile goto ("lock bts %1, (%0)\n"
-                     "jc %l[contended]"
-                     : /* no output */
-                     : "r" (address), "r" (lock_bit)
-                     : "cc", "memory"
-                     : contended);
+  __asm__ volatile goto ("lock bts %1, (%0)\n"
+                         "jc %l[contended]"
+                         : /* no output */
+                         : "r" (address), "r" (lock_bit)
+                         : "cc", "memory"
+                         : contended);
   return;
 
  contended:
@@ -281,12 +281,12 @@ g_bit_trylock (volatile gint *address,
 #ifdef USE_ASM_GOTO
   gboolean result;
 
-  asm volatile ("lock bts %2, (%1)\n"
-                "setnc %%al\n"
-                "movzx %%al, %0"
-                : "=r" (result)
-                : "r" (address), "r" (lock_bit)
-                : "cc", "memory");
+  __asm__ volatile ("lock bts %2, (%1)\n"
+                    "setnc %%al\n"
+                    "movzx %%al, %0"
+                    : "=r" (result)
+                    : "r" (address), "r" (lock_bit)
+                    : "cc", "memory");
 
   return result;
 #else