Index: PLATFORMS.md ================================================================== --- PLATFORMS.md +++ PLATFORMS.md @@ -7,11 +7,11 @@ Linux ----- * Architectures: x86, x86_64 - * Compilers: Clang 3.1, GCC 4.7.1 + * Compilers: Clang 3.0-3.1, GCC 4.7.1 * Runtimes: ObjFW MacOS X ------- Index: src/atomic.h ================================================================== --- src/atomic.h +++ src/atomic.h @@ -639,11 +639,11 @@ "xorl %0, %0\n\t" "lock\n\t" "cmpxchg %2, %3\n\t" "sete %b0\n\t" "movzbl %b0, %0" - : "=&r"(r) + : "=&d"(r) /* use d instead of r due to gcc bug */ : "a"(o), "r"(n), "m"(*p) ); return r; #elif defined(OF_HAVE_GCC_ATOMIC_OPS) @@ -670,11 +670,11 @@ "xorl %0, %0\n\t" "lock\n\t" "cmpxchg %2, %3\n\t" "sete %b0\n\t" "movzbl %b0, %0" - : "=&r"(r) + : "=&d"(r) /* use d instead of r due to gcc bug */ : "a"(o), "r"(n), "m"(*p) ); return r; #elif defined(OF_HAVE_GCC_ATOMIC_OPS) @@ -701,11 +701,11 @@ "xorl %0, %0\n\t" "lock\n\t" "cmpxchg %2, %3\n\t" "sete %b0\n\t" "movzbl %b0, %0" - : "=&r"(r) + : "=&d"(r) /* use d instead of r due to gcc bug */ : "a"(o), "r"(n), "m"(*p) ); return r; #elif defined(OF_HAVE_GCC_ATOMIC_OPS)