OSDN Git Service

2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 16 Mar 2010 23:01:28 +0000 (23:01 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 16 Mar 2010 23:01:28 +0000 (23:01 +0000)
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

libstdc++-v3/ChangeLog
libstdc++-v3/include/parallel/compatibility.h

index c6dca8c..8e4842e 100644 (file)
@@ -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.
index 688a7cf..9fffd8e 100644 (file)
@@ -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,