Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Unity-Technologies/libatomic_ops.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2013-03-12 22:29:33 +0400
committerIvan Maidanski <ivmai@mail.ru>2013-03-29 14:19:17 +0400
commit83be5947daf586924b54762415d0ca27e1a55942 (patch)
tree3a9c4e6c81ce588c9d825ab01587f4adac7106bd
parent75ad546c00ed583a68c0f19b7bf9e9d395d1b6aa (diff)
Fix asm constraint of compare_and_swap for clang-3.1/mips
(Apply commit 3e4c369 from 'master' branch.) * src/atomic_ops/sysdeps/gcc/mips.h (AO_compare_and_swap): Use "+m" asm constraint for *addr instead of "+R" (the letter is unsupported by clang3.1 resulting in "invalid output constraint in asm" error). Conflicts: src/atomic_ops/sysdeps/gcc/mips.h
-rw-r--r--src/atomic_ops/sysdeps/gcc/mips.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/atomic_ops/sysdeps/gcc/mips.h b/src/atomic_ops/sysdeps/gcc/mips.h
index 527a347..e09a558 100644
--- a/src/atomic_ops/sysdeps/gcc/mips.h
+++ b/src/atomic_ops/sysdeps/gcc/mips.h
@@ -59,7 +59,7 @@ AO_compare_and_swap(volatile AO_t *addr, AO_t old, AO_t new_val)
" beqz %0, 1b \n"
" li %2, 1 \n"
"2: "
- : "=&r" (temp), "+R" (*addr), "+r" (was_equal)
+ : "=&r" (temp), "+m" (*addr), "+r" (was_equal)
: "r" (new_val), "r" (old)
: "memory");
return was_equal;