aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2006-08-31 22:20:09 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2006-08-31 22:20:09 +0000
commit1b98c24e32ce7df2d03bc03e26ae91431c90a693 (patch)
treec12dbe2c10f18d3245e82eafef8051e20aa47a4a
parente282a2bc9f65e7476487a3e4e4e3476c20407c4e (diff)
downloadgcc-1b98c24e32ce7df2d03bc03e26ae91431c90a693.zip
gcc-1b98c24e32ce7df2d03bc03e26ae91431c90a693.tar.gz
gcc-1b98c24e32ce7df2d03bc03e26ae91431c90a693.tar.bz2
PR libstdc++/28671 continued
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. From-SVN: r116608
-rw-r--r--libstdc++-v3/ChangeLog8
-rw-r--r--libstdc++-v3/acinclude.m42
-rwxr-xr-xlibstdc++-v3/configure2
-rw-r--r--libstdc++-v3/include/bits/atomicity.h10
4 files changed, 20 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 8fe4374..705b2ca 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index a904427..8fe294d 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -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
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index cdabc3b..0050af3 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -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=$?
diff --git a/libstdc++-v3/include/bits/atomicity.h b/libstdc++-v3/include/bits/atomicity.h
index 75d9893f..79af99e 100644
--- a/libstdc++-v3/include/bits/atomicity.h
+++ b/libstdc++-v3/include/bits/atomicity.h
@@ -41,6 +41,15 @@
_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)