OSDN Git Service

* std/bastring.h (class basic_string::Rep): Use proper defines
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Dec 1999 08:48:11 +0000 (08:48 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Dec 1999 08:48:11 +0000 (08:48 +0000)
for sparc v9 and fix asm for sparc64.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30906 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++/ChangeLog
libstdc++/std/bastring.h

index 33bf6d5..8321865 100644 (file)
@@ -1,3 +1,8 @@
+1999-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * std/bastring.h (class basic_string::Rep): Use proper defines
+       for sparc v9 and fix asm for sparc64.
+
 1999-11-19  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
 
        * std/valarray_meta.h (_DEFINE_EXPR_UNARY_FUNCTION): Don't forget
index 7089126..7f0b1bf 100644 (file)
@@ -89,14 +89,19 @@ private:
        if (__val == 1)
          delete this;
       }
-#elif defined __sparcv9__
+#elif defined __sparc_v9__
     void release ()
       {
        size_t __newval, __oldval = ref;
        do
          {
            __newval = __oldval - 1;
-           __asm__ ("cas       [%4], %2, %0"
+           __asm__ (
+#ifdef __arch64__
+                    "casx      [%4], %2, %0"
+#else
+                    "cas       [%4], %2, %0"
+#endif
                     : "=r" (__oldval), "=m" (ref)
                     : "r" (__oldval), "m" (ref), "r"(&(ref)), "0" (__newval));
          }