diff options
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/ext/concurrence.h | 7 |
2 files changed, 8 insertions, 5 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 96da24a..7e5513a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,4 +1,8 @@ -2007-05-23 Steve Ellcey <sje@cup.hp.com> +2007-05-24 Paolo Carlini <pcarlini@suse.de> + + * include/ext/concurrence.h: Use __GCC_HAVE_SYNC_COMPARE_AND_SWAP_*. + +2007-05-24 Steve Ellcey <sje@cup.hp.com> * Makefile.in: Regenerate. * configure: Regenerate. diff --git a/libstdc++-v3/include/ext/concurrence.h b/libstdc++-v3/include/ext/concurrence.h index 6efb2a6..de4934c 100644 --- a/libstdc++-v3/include/ext/concurrence.h +++ b/libstdc++-v3/include/ext/concurrence.h @@ -53,9 +53,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) // the current configuration. static const _Lock_policy __default_lock_policy = #ifdef __GTHREADS - // NB: This macro doesn't actually exist yet in the compiler, but is - // set somewhat haphazardly at configure time. -#ifdef _GLIBCXX_ATOMIC_BUILTINS +#if (defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2) \ + && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)) _S_atomic; #else _S_mutex; @@ -63,7 +62,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) #else _S_single; #endif - + // NB: As this is used in libsupc++, need to only depend on // exception. No stdexception classes, no use of std::string. class __concurrence_lock_error : public std::exception |