summaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2009-05-03 16:13:59 +0000
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2009-05-03 16:13:59 +0000
commit4f6eca150b18de1f94b24dde165370597067fa44 (patch)
treed4efc2f18c07f0069a7d9c025bc591078d4a1911 /libstdc++-v3
parentc1800156667f848af4445c36b60a92e6260233c1 (diff)
downloadgcc-4f6eca150b18de1f94b24dde165370597067fa44.tar.gz
2009-05-03 Paolo Carlini <paolo.carlini@oracle.com>
* acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when possible. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147076 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/acinclude.m4134
-rwxr-xr-xlibstdc++-v3/configure369
3 files changed, 468 insertions, 41 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 64a94ec81ed..f067dc17f5c 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2009-05-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): Do link tests when
+ possible.
+ * configure: Regenerate.
+
2009-05-02 Jan Hubicka <jh@suse.cz>
* include/tr1_impl/functional_hash.h (explicit specializations of ()
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 186916c2e47..2d046e94f04 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -2429,8 +2429,7 @@ dnl is intended to be an all-or-nothing switch, so all the atomic operations
dnl that are used should be checked.
dnl
dnl Note:
-dnl libgomp and libgfortran do this with a link test, instead of an asm test.
-dnl see: CHECK_SYNC_FETCH_AND_ADD
+dnl libgomp and libgfortran use a link test, see CHECK_SYNC_FETCH_AND_ADD.
dnl
dnl Defines:
dnl _GLIBCXX_ATOMIC_BUILTINS_1
@@ -2442,12 +2441,110 @@ AC_DEFUN([GLIBCXX_ENABLE_ATOMIC_BUILTINS], [
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
old_CXXFLAGS="$CXXFLAGS"
-
+
+ # Do link tests if possible, instead asm tests.
+ if test x$gcc_no_link != xyes; then
+
+ # Can do link tests.
+
+ CXXFLAGS="$CXXFLAGS -fno-exceptions"
+
+ AC_MSG_CHECKING([for atomic builtins for bool])
+ AC_CACHE_VAL(glibcxx_cv_atomic_bool, [
+ AC_TRY_LINK(
+ [ ],
+ [typedef bool atomic_type;
+ atomic_type c1;
+ atomic_type c2;
+ const atomic_type c3(0);
+ __sync_fetch_and_add(&c1, c2);
+ __sync_val_compare_and_swap(&c1, c3, c2);
+ __sync_lock_test_and_set(&c1, c3);
+ __sync_lock_release(&c1);
+ __sync_synchronize();],
+ [glibcxx_cv_atomic_bool=yes],
+ [glibcxx_cv_atomic_bool=no])
+ ])
+ if test $glibcxx_cv_atomic_bool = yes; then
+ AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_1, 1,
+ [Define if builtin atomic operations for bool are supported on this host.])
+ fi
+ AC_MSG_RESULT($glibcxx_cv_atomic_bool)
+
+ AC_MSG_CHECKING([for atomic builtins for short])
+ AC_CACHE_VAL(glibcxx_cv_atomic_short, [
+ AC_TRY_LINK(
+ [ ],
+ [typedef short atomic_type;
+ atomic_type c1;
+ atomic_type c2;
+ const atomic_type c3(0);
+ __sync_fetch_and_add(&c1, c2);
+ __sync_val_compare_and_swap(&c1, c3, c2);
+ __sync_lock_test_and_set(&c1, c3);
+ __sync_lock_release(&c1);
+ __sync_synchronize();],
+ [glibcxx_cv_atomic_short=yes],
+ [glibcxx_cv_atomic_short=no])
+ ])
+ if test $glibcxx_cv_atomic_short = yes; then
+ AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_2, 1,
+ [Define if builtin atomic operations for short are supported on this host.])
+ fi
+ AC_MSG_RESULT($glibcxx_cv_atomic_short)
+
+ AC_MSG_CHECKING([for atomic builtins for int])
+ AC_CACHE_VAL(glibcxx_cv_atomic_int, [
+ AC_TRY_LINK(
+ [ ],
+ [typedef int atomic_type;
+ atomic_type c1;
+ atomic_type c2;
+ const atomic_type c3(0);
+ __sync_fetch_and_add(&c1, c2);
+ __sync_val_compare_and_swap(&c1, c3, c2);
+ __sync_lock_test_and_set(&c1, c3);
+ __sync_lock_release(&c1);
+ __sync_synchronize();],
+ [glibcxx_cv_atomic_int=yes],
+ [glibcxx_cv_atomic_int=no])
+ ])
+ if test $glibcxx_cv_atomic_int = yes; then
+ AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_4, 1,
+ [Define if builtin atomic operations for int are supported on this host.])
+ fi
+ AC_MSG_RESULT($glibcxx_cv_atomic_int)
+
+ AC_MSG_CHECKING([for atomic builtins for long long])
+ AC_CACHE_VAL(glibcxx_cv_atomic_long_long, [
+ AC_TRY_LINK(
+ [ ],
+ [typedef long long atomic_type;
+ atomic_type c1;
+ atomic_type c2;
+ const atomic_type c3(0);
+ __sync_fetch_and_add(&c1, c2);
+ __sync_val_compare_and_swap(&c1, c3, c2);
+ __sync_lock_test_and_set(&c1, c3);
+ __sync_lock_release(&c1);
+ __sync_synchronize();],
+ [glibcxx_cv_atomic_long_long=yes],
+ [glibcxx_cv_atomic_long_long=no])
+ ])
+ if test $glibcxx_cv_atomic_long_long = yes; then
+ AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_8, 1,
+ [Define if builtin atomic operations for long long are supported on this host.])
+ fi
+ AC_MSG_RESULT($glibcxx_cv_atomic_long_long)
+
+ else
+
+ # Do asm tests.
+
# Compile unoptimized.
CXXFLAGS='-O0 -S'
- # Fake what AC_TRY_COMPILE does, without linking as this is
- # unnecessary for a builtins test.
+ # Fake what AC_TRY_COMPILE does.
cat > conftest.$ac_ext << EOF
[#]line __oline__ "configure"
@@ -2469,14 +2566,14 @@ EOF
AC_MSG_CHECKING([for atomic builtins for bool])
if AC_TRY_EVAL(ac_compile); then
if grep __sync_ conftest.s >/dev/null 2>&1 ; then
- enable_atomic_builtinsb=no
+ glibcxx_cv_atomic_bool=no
else
AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_1, 1,
[Define if builtin atomic operations for bool are supported on this host.])
- enable_atomic_builtinsb=yes
+ glibcxx_cv_atomic_bool=yes
fi
fi
- AC_MSG_RESULT($enable_atomic_builtinsb)
+ AC_MSG_RESULT($glibcxx_cv_atomic_bool)
rm -f conftest*
cat > conftest.$ac_ext << EOF
@@ -2499,14 +2596,14 @@ EOF
AC_MSG_CHECKING([for atomic builtins for short])
if AC_TRY_EVAL(ac_compile); then
if grep __sync_ conftest.s >/dev/null 2>&1 ; then
- enable_atomic_builtinss=no
+ glibcxx_cv_atomic_short=no
else
AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_2, 1,
[Define if builtin atomic operations for short are supported on this host.])
- enable_atomic_builtinss=yes
+ glibcxx_cv_atomic_short=yes
fi
fi
- AC_MSG_RESULT($enable_atomic_builtinss)
+ AC_MSG_RESULT($glibcxx_cv_atomic_short)
rm -f conftest*
cat > conftest.$ac_ext << EOF
@@ -2530,14 +2627,14 @@ EOF
AC_MSG_CHECKING([for atomic builtins for int])
if AC_TRY_EVAL(ac_compile); then
if grep __sync_ conftest.s >/dev/null 2>&1 ; then
- enable_atomic_builtinsi=no
+ glibcxx_cv_atomic_int=no
else
AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_4, 1,
[Define if builtin atomic operations for int are supported on this host.])
- enable_atomic_builtinsi=yes
+ glibcxx_cv_atomic_int=yes
fi
fi
- AC_MSG_RESULT($enable_atomic_builtinsi)
+ AC_MSG_RESULT($glibcxx_cv_atomic_int)
rm -f conftest*
cat > conftest.$ac_ext << EOF
@@ -2560,22 +2657,23 @@ EOF
AC_MSG_CHECKING([for atomic builtins for long long])
if AC_TRY_EVAL(ac_compile); then
if grep __sync_ conftest.s >/dev/null 2>&1 ; then
- enable_atomic_builtinsll=no
+ glibcxx_cv_atomic_long_long=no
else
AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS_8, 1,
[Define if builtin atomic operations for long long are supported on this host.])
- enable_atomic_builtinsll=yes
+ glibcxx_cv_atomic_long_long=yes
fi
fi
- AC_MSG_RESULT($enable_atomic_builtinsll)
+ AC_MSG_RESULT($glibcxx_cv_atomic_long_long)
rm -f conftest*
+ fi
CXXFLAGS="$old_CXXFLAGS"
AC_LANG_RESTORE
# Set atomicity_dir to builtins if either of above tests pass.
- if test $enable_atomic_builtinsi = yes || test $enable_atomic_builtinsb = yes ; then
+ if test $glibcxx_cv_atomic_int = yes || test $glibcxx_cv_atomic_bool = yes ; then
atomicity_dir=cpu/generic/atomicity_builtins
fi
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 31678ebf212..98429fb719b 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -14757,14 +14757,336 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
old_CXXFLAGS="$CXXFLAGS"
+ # Do link tests if possible, instead asm tests.
+ if test x$gcc_no_link != xyes; then
+
+ # Can do link tests.
+
+ CXXFLAGS="$CXXFLAGS -fno-exceptions"
+
+ echo "$as_me:$LINENO: checking for atomic builtins for bool" >&5
+echo $ECHO_N "checking for atomic builtins for bool... $ECHO_C" >&6
+ if test "${glibcxx_cv_atomic_bool+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ if test x$gcc_no_link = xyes; then
+ { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
+echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+typedef bool atomic_type;
+ atomic_type c1;
+ atomic_type c2;
+ const atomic_type c3(0);
+ __sync_fetch_and_add(&c1, c2);
+ __sync_val_compare_and_swap(&c1, c3, c2);
+ __sync_lock_test_and_set(&c1, c3);
+ __sync_lock_release(&c1);
+ __sync_synchronize();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_cxx_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ glibcxx_cv_atomic_bool=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+glibcxx_cv_atomic_bool=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+
+ if test $glibcxx_cv_atomic_bool = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define _GLIBCXX_ATOMIC_BUILTINS_1 1
+_ACEOF
+
+ fi
+ echo "$as_me:$LINENO: result: $glibcxx_cv_atomic_bool" >&5
+echo "${ECHO_T}$glibcxx_cv_atomic_bool" >&6
+
+ echo "$as_me:$LINENO: checking for atomic builtins for short" >&5
+echo $ECHO_N "checking for atomic builtins for short... $ECHO_C" >&6
+ if test "${glibcxx_cv_atomic_short+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ if test x$gcc_no_link = xyes; then
+ { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
+echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+typedef short atomic_type;
+ atomic_type c1;
+ atomic_type c2;
+ const atomic_type c3(0);
+ __sync_fetch_and_add(&c1, c2);
+ __sync_val_compare_and_swap(&c1, c3, c2);
+ __sync_lock_test_and_set(&c1, c3);
+ __sync_lock_release(&c1);
+ __sync_synchronize();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_cxx_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ glibcxx_cv_atomic_short=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+glibcxx_cv_atomic_short=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+
+ if test $glibcxx_cv_atomic_short = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define _GLIBCXX_ATOMIC_BUILTINS_2 1
+_ACEOF
+
+ fi
+ echo "$as_me:$LINENO: result: $glibcxx_cv_atomic_short" >&5
+echo "${ECHO_T}$glibcxx_cv_atomic_short" >&6
+
+ echo "$as_me:$LINENO: checking for atomic builtins for int" >&5
+echo $ECHO_N "checking for atomic builtins for int... $ECHO_C" >&6
+ if test "${glibcxx_cv_atomic_int+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ if test x$gcc_no_link = xyes; then
+ { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
+echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+typedef int atomic_type;
+ atomic_type c1;
+ atomic_type c2;
+ const atomic_type c3(0);
+ __sync_fetch_and_add(&c1, c2);
+ __sync_val_compare_and_swap(&c1, c3, c2);
+ __sync_lock_test_and_set(&c1, c3);
+ __sync_lock_release(&c1);
+ __sync_synchronize();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_cxx_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ glibcxx_cv_atomic_int=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+glibcxx_cv_atomic_int=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+
+ if test $glibcxx_cv_atomic_int = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define _GLIBCXX_ATOMIC_BUILTINS_4 1
+_ACEOF
+
+ fi
+ echo "$as_me:$LINENO: result: $glibcxx_cv_atomic_int" >&5
+echo "${ECHO_T}$glibcxx_cv_atomic_int" >&6
+
+ echo "$as_me:$LINENO: checking for atomic builtins for long long" >&5
+echo $ECHO_N "checking for atomic builtins for long long... $ECHO_C" >&6
+ if test "${glibcxx_cv_atomic_long_long+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ if test x$gcc_no_link = xyes; then
+ { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
+echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+typedef long long atomic_type;
+ atomic_type c1;
+ atomic_type c2;
+ const atomic_type c3(0);
+ __sync_fetch_and_add(&c1, c2);
+ __sync_val_compare_and_swap(&c1, c3, c2);
+ __sync_lock_test_and_set(&c1, c3);
+ __sync_lock_release(&c1);
+ __sync_synchronize();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_cxx_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ glibcxx_cv_atomic_long_long=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+glibcxx_cv_atomic_long_long=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+
+ if test $glibcxx_cv_atomic_long_long = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define _GLIBCXX_ATOMIC_BUILTINS_8 1
+_ACEOF
+
+ fi
+ echo "$as_me:$LINENO: result: $glibcxx_cv_atomic_long_long" >&5
+echo "${ECHO_T}$glibcxx_cv_atomic_long_long" >&6
+
+ else
+
+ # Do asm tests.
+
# Compile unoptimized.
CXXFLAGS='-O0 -S'
- # Fake what AC_TRY_COMPILE does, without linking as this is
- # unnecessary for a builtins test.
+ # Fake what AC_TRY_COMPILE does.
cat > conftest.$ac_ext << EOF
-#line 14767 "configure"
+#line 15089 "configure"
int main()
{
typedef bool atomic_type;
@@ -14788,22 +15110,22 @@ echo $ECHO_N "checking for atomic builtins for bool... $ECHO_C" >&6
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
if grep __sync_ conftest.s >/dev/null 2>&1 ; then
- enable_atomic_builtinsb=no
+ glibcxx_cv_atomic_bool=no
else
cat >>confdefs.h <<\_ACEOF
#define _GLIBCXX_ATOMIC_BUILTINS_1 1
_ACEOF
- enable_atomic_builtinsb=yes
+ glibcxx_cv_atomic_bool=yes
fi
fi
- echo "$as_me:$LINENO: result: $enable_atomic_builtinsb" >&5
-echo "${ECHO_T}$enable_atomic_builtinsb" >&6
+ echo "$as_me:$LINENO: result: $glibcxx_cv_atomic_bool" >&5
+echo "${ECHO_T}$glibcxx_cv_atomic_bool" >&6
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 14806 "configure"
+#line 15128 "configure"
int main()
{
typedef short atomic_type;
@@ -14827,22 +15149,22 @@ echo $ECHO_N "checking for atomic builtins for short... $ECHO_C" >&6
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
if grep __sync_ conftest.s >/dev/null 2>&1 ; then
- enable_atomic_builtinss=no
+ glibcxx_cv_atomic_short=no
else
cat >>confdefs.h <<\_ACEOF
#define _GLIBCXX_ATOMIC_BUILTINS_2 1
_ACEOF
- enable_atomic_builtinss=yes
+ glibcxx_cv_atomic_short=yes
fi
fi
- echo "$as_me:$LINENO: result: $enable_atomic_builtinss" >&5
-echo "${ECHO_T}$enable_atomic_builtinss" >&6
+ echo "$as_me:$LINENO: result: $glibcxx_cv_atomic_short" >&5
+echo "${ECHO_T}$glibcxx_cv_atomic_short" >&6
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 14845 "configure"
+#line 15167 "configure"
int main()
{
// NB: _Atomic_word not necessarily int.
@@ -14867,22 +15189,22 @@ echo $ECHO_N "checking for atomic builtins for int... $ECHO_C" >&6
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
if grep __sync_ conftest.s >/dev/null 2>&1 ; then
- enable_atomic_builtinsi=no
+ glibcxx_cv_atomic_int=no
else
cat >>confdefs.h <<\_ACEOF
#define _GLIBCXX_ATOMIC_BUILTINS_4 1
_ACEOF
- enable_atomic_builtinsi=yes
+ glibcxx_cv_atomic_int=yes
fi
fi
- echo "$as_me:$LINENO: result: $enable_atomic_builtinsi" >&5
-echo "${ECHO_T}$enable_atomic_builtinsi" >&6
+ echo "$as_me:$LINENO: result: $glibcxx_cv_atomic_int" >&5
+echo "${ECHO_T}$glibcxx_cv_atomic_int" >&6
rm -f conftest*
cat > conftest.$ac_ext << EOF
-#line 14885 "configure"
+#line 15207 "configure"
int main()
{
typedef long long atomic_type;
@@ -14906,20 +15228,21 @@ echo $ECHO_N "checking for atomic builtins for long long... $ECHO_C" >&6
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
if grep __sync_ conftest.s >/dev/null 2>&1 ; then
- enable_atomic_builtinsll=no
+ glibcxx_cv_atomic_long_long=no
else
cat >>confdefs.h <<\_ACEOF
#define _GLIBCXX_ATOMIC_BUILTINS_8 1
_ACEOF
- enable_atomic_builtinsll=yes
+ glibcxx_cv_atomic_long_long=yes
fi
fi
- echo "$as_me:$LINENO: result: $enable_atomic_builtinsll" >&5
-echo "${ECHO_T}$enable_atomic_builtinsll" >&6
+ echo "$as_me:$LINENO: result: $glibcxx_cv_atomic_long_long" >&5
+echo "${ECHO_T}$glibcxx_cv_atomic_long_long" >&6
rm -f conftest*
+ fi
CXXFLAGS="$old_CXXFLAGS"
ac_ext=c
@@ -14930,7 +15253,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Set atomicity_dir to builtins if either of above tests pass.
- if test $enable_atomic_builtinsi = yes || test $enable_atomic_builtinsb = yes ; then
+ if test $glibcxx_cv_atomic_int = yes || test $glibcxx_cv_atomic_bool = yes ; then
atomicity_dir=cpu/generic/atomicity_builtins
fi