diff options
Diffstat (limited to 'contrib/libstdc++/config/cpu/cris/atomicity.h')
-rw-r--r-- | contrib/libstdc++/config/cpu/cris/atomicity.h | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/contrib/libstdc++/config/cpu/cris/atomicity.h b/contrib/libstdc++/config/cpu/cris/atomicity.h index 3162f6ada3b7..da16a1aacee7 100644 --- a/contrib/libstdc++/config/cpu/cris/atomicity.h +++ b/contrib/libstdc++/config/cpu/cris/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations: CRIS version -*- C++ -*- -// Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -15,7 +15,7 @@ // You should have received a copy of the GNU General Public License along // with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, // USA. // As a special exception, you may use this file as part of a free software @@ -27,10 +27,10 @@ // invalidate any other reasons why the executable file might be covered by // the GNU General Public License. -#include <bits/atomicity.h> +#include <ext/atomicity.h> + +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) -namespace __gnu_cxx -{ _Atomic_word __exchange_and_add(volatile _Atomic_word* __mem, int __val) { @@ -47,8 +47,8 @@ namespace __gnu_cxx " move.d %2,[%3] \n" " bwf 0b \n" " clearf \n" - : "=&r" (__result), "=m" (*__mem), "=&r" (__tmp) - : "r" (__mem), "g" (__val), "m" (*__mem) + : "=&r" (__result), "=Q" (*__mem), "=&r" (__tmp) + : "r" (__mem), "g" (__val), "Q" (*__mem) /* The memory clobber must stay, regardless of current uses of this function. */ : "memory"); @@ -60,8 +60,8 @@ namespace __gnu_cxx " add.d %0,%2 \n" " move.d %2,[%3] \n" " move $r9,$ccr \n" - : "=&r" (__result), "=m" (*__mem), "=&r" (__tmp) - : "r" (__mem), "g" (__val), "m" (*__mem) + : "=&r" (__result), "=Q" (*__mem), "=&r" (__tmp) + : "r" (__mem), "g" (__val), "Q" (*__mem) : "r9", /* The memory clobber must stay, regardless of current uses of this function. */ @@ -74,4 +74,5 @@ namespace __gnu_cxx void __atomic_add(volatile _Atomic_word* __mem, int __val) { __exchange_and_add(__mem, __val); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE |