diff options
-rw-r--r-- | libstdc++-v3/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/config/cpu/i386/atomicity.h | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 9c8048d..27b3a4b 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 70d38fe..8905d78 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; |