diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-05-06 09:00:34 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-05-06 09:00:34 +0000 |
commit | 38e9ad31b158ba7f719f7eb191ab40d856f1470f (patch) | |
tree | 0a105370c613b6fed4078019571215fff966a59e /libstdc++-v3/configure | |
parent | 71abdb9c733dd9a223fedd32a814c0112a645f74 (diff) | |
download | gcc-38e9ad31b158ba7f719f7eb191ab40d856f1470f.tar.gz |
2009-05-06 Paolo Carlini <paolo.carlini@oracle.com>
Revert:
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@147154 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/configure')
-rwxr-xr-x | libstdc++-v3/configure | 369 |
1 files changed, 23 insertions, 346 deletions
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 98429fb719b..31678ebf212 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -14757,336 +14757,14 @@ 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. + # Fake what AC_TRY_COMPILE does, without linking as this is + # unnecessary for a builtins test. cat > conftest.$ac_ext << EOF -#line 15089 "configure" +#line 14767 "configure" int main() { typedef bool atomic_type; @@ -15110,22 +14788,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 - glibcxx_cv_atomic_bool=no + enable_atomic_builtinsb=no else cat >>confdefs.h <<\_ACEOF #define _GLIBCXX_ATOMIC_BUILTINS_1 1 _ACEOF - glibcxx_cv_atomic_bool=yes + enable_atomic_builtinsb=yes fi fi - echo "$as_me:$LINENO: result: $glibcxx_cv_atomic_bool" >&5 -echo "${ECHO_T}$glibcxx_cv_atomic_bool" >&6 + echo "$as_me:$LINENO: result: $enable_atomic_builtinsb" >&5 +echo "${ECHO_T}$enable_atomic_builtinsb" >&6 rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15128 "configure" +#line 14806 "configure" int main() { typedef short atomic_type; @@ -15149,22 +14827,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 - glibcxx_cv_atomic_short=no + enable_atomic_builtinss=no else cat >>confdefs.h <<\_ACEOF #define _GLIBCXX_ATOMIC_BUILTINS_2 1 _ACEOF - glibcxx_cv_atomic_short=yes + enable_atomic_builtinss=yes fi fi - echo "$as_me:$LINENO: result: $glibcxx_cv_atomic_short" >&5 -echo "${ECHO_T}$glibcxx_cv_atomic_short" >&6 + echo "$as_me:$LINENO: result: $enable_atomic_builtinss" >&5 +echo "${ECHO_T}$enable_atomic_builtinss" >&6 rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15167 "configure" +#line 14845 "configure" int main() { // NB: _Atomic_word not necessarily int. @@ -15189,22 +14867,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 - glibcxx_cv_atomic_int=no + enable_atomic_builtinsi=no else cat >>confdefs.h <<\_ACEOF #define _GLIBCXX_ATOMIC_BUILTINS_4 1 _ACEOF - glibcxx_cv_atomic_int=yes + enable_atomic_builtinsi=yes fi fi - echo "$as_me:$LINENO: result: $glibcxx_cv_atomic_int" >&5 -echo "${ECHO_T}$glibcxx_cv_atomic_int" >&6 + echo "$as_me:$LINENO: result: $enable_atomic_builtinsi" >&5 +echo "${ECHO_T}$enable_atomic_builtinsi" >&6 rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15207 "configure" +#line 14885 "configure" int main() { typedef long long atomic_type; @@ -15228,21 +14906,20 @@ 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 - glibcxx_cv_atomic_long_long=no + enable_atomic_builtinsll=no else cat >>confdefs.h <<\_ACEOF #define _GLIBCXX_ATOMIC_BUILTINS_8 1 _ACEOF - glibcxx_cv_atomic_long_long=yes + enable_atomic_builtinsll=yes fi fi - echo "$as_me:$LINENO: result: $glibcxx_cv_atomic_long_long" >&5 -echo "${ECHO_T}$glibcxx_cv_atomic_long_long" >&6 + echo "$as_me:$LINENO: result: $enable_atomic_builtinsll" >&5 +echo "${ECHO_T}$enable_atomic_builtinsll" >&6 rm -f conftest* - fi CXXFLAGS="$old_CXXFLAGS" ac_ext=c @@ -15253,7 +14930,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Set atomicity_dir to builtins if either of above tests pass. - if test $glibcxx_cv_atomic_int = yes || test $glibcxx_cv_atomic_bool = yes ; then + if test $enable_atomic_builtinsi = yes || test $enable_atomic_builtinsb = yes ; then atomicity_dir=cpu/generic/atomicity_builtins fi |