summaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2010-03-16 23:01:28 +0000
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2010-03-16 23:01:28 +0000
commitc480bf2b1cce7c876d02ccddbfd39448e2c424b7 (patch)
treed00e98aecf7dae647fcfd4dd0c981831bb187000 /libstdc++-v3
parent181dd5b2aa854d19a2c3a9b3343e6bfcd9bc0193 (diff)
downloadgcc-c480bf2b1cce7c876d02ccddbfd39448e2c424b7.tar.gz
2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/43394 * include/parallel/compatibility.h: Add __k8 and __core2 among the i386 targets supporting atomic operations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157498 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/parallel/compatibility.h8
2 files changed, 11 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index c6dca8c8951..8e4842e1a72 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,11 @@
2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
+ PR libstdc++/43394
+ * include/parallel/compatibility.h: Add __k8 and __core2 among the
+ i386 targets supporting atomic operations.
+
+2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
+
* include/backward/hash_map: Use consistently the _BACKWARD_*
prefix for the include guard.
* include/backward/hash_fun.h: Likewise.
diff --git a/libstdc++-v3/include/parallel/compatibility.h b/libstdc++-v3/include/parallel/compatibility.h
index 688a7cf348f..9fffd8e012c 100644
--- a/libstdc++-v3/include/parallel/compatibility.h
+++ b/libstdc++-v3/include/parallel/compatibility.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010 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 terms
@@ -147,7 +147,8 @@ namespace __gnu_parallel
#elif defined(__GNUC__) && defined(__x86_64)
return __sync_fetch_and_add(__ptr, __addend);
#elif defined(__GNUC__) && defined(__i386) && \
- (defined(__i686) || defined(__pentium4) || defined(__athlon))
+ (defined(__i686) || defined(__pentium4) || defined(__athlon) \
+ || defined(__k8) || defined(__core2))
return __sync_fetch_and_add(__ptr, __addend);
#elif defined(__SUNPRO_CC) && defined(__sparc)
volatile int64_t __before, __after;
@@ -299,7 +300,8 @@ namespace __gnu_parallel
#elif defined(__GNUC__) && defined(__x86_64)
return __sync_bool_compare_and_swap(__ptr, __comparand, __replacement);
#elif defined(__GNUC__) && defined(__i386) && \
- (defined(__i686) || defined(__pentium4) || defined(__athlon))
+ (defined(__i686) || defined(__pentium4) || defined(__athlon) \
+ || defined(__k8) || defined(__core2))
return __sync_bool_compare_and_swap(__ptr, __comparand, __replacement);
#elif defined(__SUNPRO_CC) && defined(__sparc)
return atomic_cas_64((volatile unsigned long long*)__ptr,