aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/config/cpu/i386/atomicity.h5
2 files changed, 8 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 9c8048dec24..27b3a4b3495 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2003-12-24 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR libstdc++/13480
+ * config/cpu/i486/atomicity.h: Split up read-write memory operand.
+
2003-12-23 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/new_allocator.h (new_allocator): Proper allocator class.
diff --git a/libstdc++-v3/config/cpu/i386/atomicity.h b/libstdc++-v3/config/cpu/i386/atomicity.h
index 70d38fe3269..8905d78d87a 100644
--- a/libstdc++-v3/config/cpu/i386/atomicity.h
+++ b/libstdc++-v3/config/cpu/i386/atomicity.h
@@ -52,8 +52,9 @@ __exchange_and_add(volatile _Atomic_word* __mem, int __val)
/* obtain the atomic exchange/add spin lock */
do {
__asm__ __volatile__ ("xchg{l} {%0,%1|%1,%0}"
- : "+m" (__Atomicity_lock<0>::_S_atomicity_lock),
- "+r" (__tmp));
+ : "m" (__Atomicity_lock<0>::_S_atomicity_lock),
+ "+r" (__tmp)
+ : "m" (__Atomicity_lock<0>::_S_atomicity_lock));
} while (__tmp);
__result = *__mem;