aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-18 00:22:45 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-18 00:22:45 +0000
commitac951330a98a3e01a50cc60d43b75576c5c04271 (patch)
tree732c162adaa79606a4d2a844a12e25444af0c6c7 /libstdc++-v3
parent003b2fa0d1e3da3efa6fa3cc7c2c6e38eff1a7a4 (diff)
gcc:
* config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define. * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define __NO_LWSYNC__ if TARGET_NO_LWSYNC. * config/rs6000/sync.md (lwsync): Emit plain sync if TARGET_NO_LWSYNC. libstdc++-v3: * config/cpu/powerpc/atomic_word.h (_GLIBCXX_WRITE_MEM_BARRIER): Use plain sync if __NO_LWSYNC__. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118961 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/config/cpu/powerpc/atomic_word.h4
2 files changed, 9 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 2118ba1bcc9..a41049a7ff1 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2006-11-18 Joseph Myers <joseph@codesourcery.com>
+
+ * config/cpu/powerpc/atomic_word.h (_GLIBCXX_WRITE_MEM_BARRIER):
+ Use plain sync if __NO_LWSYNC__.
+
2006-11-14 Joseph Myers <joseph@codesourcery.com>
* testsuite/26_numerics/complex/13450.cc: Do not test long double
diff --git a/libstdc++-v3/config/cpu/powerpc/atomic_word.h b/libstdc++-v3/config/cpu/powerpc/atomic_word.h
index 2a5d192c54b..4f8c670d2a2 100644
--- a/libstdc++-v3/config/cpu/powerpc/atomic_word.h
+++ b/libstdc++-v3/config/cpu/powerpc/atomic_word.h
@@ -33,6 +33,10 @@
typedef int _Atomic_word;
#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("isync":::"memory")
+#ifdef __NO_LWSYNC__
+#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("sync":::"memory")
+#else
#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("lwsync":::"memory")
+#endif
#endif