aboutsummaryrefslogtreecommitdiff
path: root/contrib/libstdc++/config/cpu/cris/atomicity.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/libstdc++/config/cpu/cris/atomicity.h')
-rw-r--r--contrib/libstdc++/config/cpu/cris/atomicity.h21
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