2006-08-31 Benjamin Kosnik <bkoz@redhat.com>
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Aug 2006 22:20:09 +0000 (22:20 +0000)
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Aug 2006 22:20:09 +0000 (22:20 +0000)
PR libstdc++/28671 continued
* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't use
CXXFLAGS when checking for atomic builtins.
* configure: Regenerate.
* include/bits/atomicity.h: Revert.

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

libstdc++-v3/ChangeLog
libstdc++-v3/acinclude.m4
libstdc++-v3/configure
libstdc++-v3/include/bits/atomicity.h

index 8fe4374..705b2ca 100644 (file)
@@ -1,3 +1,11 @@
+2006-08-31  Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/28671 continued
+       * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't use
+       CXXFLAGS when checking for atomic builtins.
+       * configure: Regenerate.
+       * include/bits/atomicity.h: Revert.
+       
 2006-08-31  Richard Guenther  <rguenther@suse.de>
 
        * include/ext/mt_allocator.h: Remove volatile qualifiers
index a904427..8fe294d 100644 (file)
@@ -2007,7 +2007,7 @@ int main()
 }
 EOF
     old_CXXFLAGS="$CXXFLAGS"
-    CXXFLAGS="$CXXFLAGS -S"
+    CXXFLAGS=-S
     if AC_TRY_EVAL(ac_compile); then
       if grep __sync_fetch_and_add conftest.s >/dev/null 2>&1 ; then
         enable_atomic_builtins=no
index cdabc3b..0050af3 100755 (executable)
@@ -8025,7 +8025,7 @@ int main()
 }
 EOF
     old_CXXFLAGS="$CXXFLAGS"
-    CXXFLAGS="$CXXFLAGS -S"
+    CXXFLAGS=-S
     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
index 75d9893..79af99e 100644 (file)
 
 _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
 
+#ifdef _GLIBCXX_ATOMIC_BUILTINS
+  static inline _Atomic_word 
+  __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+  { return __sync_fetch_and_add(__mem, __val); }
+
+  static inline void
+  __atomic_add(volatile _Atomic_word* __mem, int __val)
+  { __sync_fetch_and_add(__mem, __val); }
+#else
   _Atomic_word
   __attribute__ ((__unused__))
   __exchange_and_add(volatile _Atomic_word* __mem, int __val);
@@ -48,6 +57,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
   void
   __attribute__ ((__unused__))
   __atomic_add(volatile _Atomic_word* __mem, int __val);
+#endif
 
   static inline _Atomic_word
   __exchange_and_add_single(_Atomic_word* __mem, int __val)