diff options
-rw-r--r-- | libstdc++-v3/ChangeLog | 7 | ||||
-rw-r--r-- | libstdc++-v3/acinclude.m4 | 303 | ||||
-rw-r--r-- | libstdc++-v3/config.h.in | 6 | ||||
-rwxr-xr-x | libstdc++-v3/configure | 371 | ||||
-rw-r--r-- | libstdc++-v3/configure.ac | 1 |
5 files changed, 451 insertions, 237 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 166522c..6b2357a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,12 @@ 2018-06-18 Jonathan Wakely <jwakely@redhat.com> + * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Only check when + enable_libstdcxx_filesystem_ts = yes. Check for link, readlink and + symlink. + * config.h.in: Regenerate. + * configure: Regenerate. + * configure.ac: Remove AC_CHECK_FUNCS for link, readlink and symlink. + LWG 3035. std::allocator's constructors should be constexpr * include/bits/allocator.h (allocator): Add constexpr to constructors for C++2a. Replace dynamic exception specifications with NOTHROW diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 4f37b6a..6c855b6 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -4309,143 +4309,194 @@ AC_DEFUN([GLIBCXX_ENABLE_FILESYSTEM_TS], [ ]) dnl -dnl Check whether the library calls required by the Filesystem TS are present -dnl and define _GLIBCXX_USE_REALPATH and _GLIBCXX_USE_UTIMENSAT. +dnl Check whether the library calls required by the Filesystem TS are present. +dnl Defines: +dnl HAVE_STRUCT_DIRENT_D_TYPE +dnl _GLIBCXX_USE_REALPATH +dnl _GLIBCXX_USE_UTIMENSAT +dnl _GLIBCXX_USE_ST_MTIM +dnl _GLIBCXX_USE_FCHMOD +dnl _GLIBCXX_USE_FCHMODAT +dnl _GLIBCXX_USE_SENDFILE +dnl HAVE_LINK +dnl HAVE_READLINK +dnl HAVE_SYMLINK dnl AC_DEFUN([GLIBCXX_CHECK_FILESYSTEM_DEPS], [dnl dnl - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -fno-exceptions" + if test $enable_libstdcxx_filesystem_ts = yes; then + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -fno-exceptions" dnl - AC_MSG_CHECKING([for struct dirent.d_type]) - AC_CACHE_VAL(glibcxx_cv_dirent_d_type, [dnl - GCC_TRY_COMPILE_OR_LINK( - [#include <dirent.h>], - [ - struct dirent d; - if (sizeof d.d_type) return 0; - ], - [glibcxx_cv_dirent_d_type=yes], - [glibcxx_cv_dirent_d_type=no]) - ]) - if test $glibcxx_cv_dirent_d_type = yes; then - AC_DEFINE(HAVE_STRUCT_DIRENT_D_TYPE, 1, [Define to 1 if `d_type' is a member of `struct dirent'.]) - fi - AC_MSG_RESULT($glibcxx_cv_dirent_d_type) + AC_MSG_CHECKING([for struct dirent.d_type]) + AC_CACHE_VAL(glibcxx_cv_dirent_d_type, [dnl + GCC_TRY_COMPILE_OR_LINK( + [#include <dirent.h>], + [ + struct dirent d; + if (sizeof d.d_type) return 0; + ], + [glibcxx_cv_dirent_d_type=yes], + [glibcxx_cv_dirent_d_type=no]) + ]) + if test $glibcxx_cv_dirent_d_type = yes; then + AC_DEFINE(HAVE_STRUCT_DIRENT_D_TYPE, 1, [Define to 1 if `d_type' is a member of `struct dirent'.]) + fi + AC_MSG_RESULT($glibcxx_cv_dirent_d_type) dnl - AC_MSG_CHECKING([for realpath]) - AC_CACHE_VAL(glibcxx_cv_realpath, [dnl - GCC_TRY_COMPILE_OR_LINK( - [ - #include <limits.h> - #include <stdlib.h> - #include <unistd.h> - ], - [ - #if _XOPEN_VERSION < 500 - #error - #elif _XOPEN_VERSION >= 700 || defined(PATH_MAX) - char *tmp = realpath((const char*)NULL, (char*)NULL); - #else - #error - #endif - ], - [glibcxx_cv_realpath=yes], - [glibcxx_cv_realpath=no]) - ]) - if test $glibcxx_cv_realpath = yes; then - AC_DEFINE(_GLIBCXX_USE_REALPATH, 1, [Define if usable realpath is available in <stdlib.h>.]) - fi - AC_MSG_RESULT($glibcxx_cv_realpath) + AC_MSG_CHECKING([for realpath]) + AC_CACHE_VAL(glibcxx_cv_realpath, [dnl + GCC_TRY_COMPILE_OR_LINK( + [ + #include <limits.h> + #include <stdlib.h> + #include <unistd.h> + ], + [ + #if _XOPEN_VERSION < 500 + #error + #elif _XOPEN_VERSION >= 700 || defined(PATH_MAX) + char *tmp = realpath((const char*)NULL, (char*)NULL); + #else + #error + #endif + ], + [glibcxx_cv_realpath=yes], + [glibcxx_cv_realpath=no]) + ]) + if test $glibcxx_cv_realpath = yes; then + AC_DEFINE(_GLIBCXX_USE_REALPATH, 1, [Define if usable realpath is available in <stdlib.h>.]) + fi + AC_MSG_RESULT($glibcxx_cv_realpath) dnl - AC_MSG_CHECKING([for utimensat]) - AC_CACHE_VAL(glibcxx_cv_utimensat, [dnl - GCC_TRY_COMPILE_OR_LINK( - [ - #include <fcntl.h> - #include <sys/stat.h> - ], - [ - struct timespec ts[2] = { { 0, UTIME_OMIT }, { 1, 1 } }; - int i = utimensat(AT_FDCWD, "path", ts, 0); - ], - [glibcxx_cv_utimensat=yes], - [glibcxx_cv_utimensat=no]) - ]) - if test $glibcxx_cv_utimensat = yes; then - AC_DEFINE(_GLIBCXX_USE_UTIMENSAT, 1, [Define if utimensat and UTIME_OMIT are available in <sys/stat.h> and AT_FDCWD in <fcntl.h>.]) - fi - AC_MSG_RESULT($glibcxx_cv_utimensat) + AC_MSG_CHECKING([for utimensat]) + AC_CACHE_VAL(glibcxx_cv_utimensat, [dnl + GCC_TRY_COMPILE_OR_LINK( + [ + #include <fcntl.h> + #include <sys/stat.h> + ], + [ + struct timespec ts[2] = { { 0, UTIME_OMIT }, { 1, 1 } }; + int i = utimensat(AT_FDCWD, "path", ts, 0); + ], + [glibcxx_cv_utimensat=yes], + [glibcxx_cv_utimensat=no]) + ]) + if test $glibcxx_cv_utimensat = yes; then + AC_DEFINE(_GLIBCXX_USE_UTIMENSAT, 1, [Define if utimensat and UTIME_OMIT are available in <sys/stat.h> and AT_FDCWD in <fcntl.h>.]) + fi + AC_MSG_RESULT($glibcxx_cv_utimensat) dnl - AC_MSG_CHECKING([for struct stat.st_mtim.tv_nsec]) - AC_CACHE_VAL(glibcxx_cv_st_mtim, [dnl - GCC_TRY_COMPILE_OR_LINK( - [ #include <sys/stat.h> ], - [ - struct stat st; - return st.st_mtim.tv_nsec; - ], - [glibcxx_cv_st_mtim=yes], - [glibcxx_cv_st_mtim=no]) - ]) - if test $glibcxx_cv_st_mtim = yes; then - AC_DEFINE(_GLIBCXX_USE_ST_MTIM, 1, [Define if struct stat has timespec members.]) - fi - AC_MSG_RESULT($glibcxx_cv_st_mtim) + AC_MSG_CHECKING([for struct stat.st_mtim.tv_nsec]) + AC_CACHE_VAL(glibcxx_cv_st_mtim, [dnl + GCC_TRY_COMPILE_OR_LINK( + [ #include <sys/stat.h> ], + [ + struct stat st; + return st.st_mtim.tv_nsec; + ], + [glibcxx_cv_st_mtim=yes], + [glibcxx_cv_st_mtim=no]) + ]) + if test $glibcxx_cv_st_mtim = yes; then + AC_DEFINE(_GLIBCXX_USE_ST_MTIM, 1, [Define if struct stat has timespec members.]) + fi + AC_MSG_RESULT($glibcxx_cv_st_mtim) dnl - AC_MSG_CHECKING([for fchmod]) - AC_CACHE_VAL(glibcxx_cv_fchmod, [dnl - GCC_TRY_COMPILE_OR_LINK( - [#include <sys/stat.h>], - [fchmod(1, S_IWUSR);], - [glibcxx_cv_fchmod=yes], - [glibcxx_cv_fchmod=no]) - ]) - if test $glibcxx_cv_fchmod = yes; then - AC_DEFINE(_GLIBCXX_USE_FCHMOD, 1, [Define if fchmod is available in <sys/stat.h>.]) - fi - AC_MSG_RESULT($glibcxx_cv_fchmod) + AC_MSG_CHECKING([for fchmod]) + AC_CACHE_VAL(glibcxx_cv_fchmod, [dnl + GCC_TRY_COMPILE_OR_LINK( + [#include <sys/stat.h>], + [fchmod(1, S_IWUSR);], + [glibcxx_cv_fchmod=yes], + [glibcxx_cv_fchmod=no]) + ]) + if test $glibcxx_cv_fchmod = yes; then + AC_DEFINE(_GLIBCXX_USE_FCHMOD, 1, [Define if fchmod is available in <sys/stat.h>.]) + fi + AC_MSG_RESULT($glibcxx_cv_fchmod) dnl - AC_MSG_CHECKING([for fchmodat]) - AC_CACHE_VAL(glibcxx_cv_fchmodat, [dnl - GCC_TRY_COMPILE_OR_LINK( - [ - #include <fcntl.h> - #include <sys/stat.h> - ], - [fchmodat(AT_FDCWD, "", 0, AT_SYMLINK_NOFOLLOW);], - [glibcxx_cv_fchmodat=yes], - [glibcxx_cv_fchmodat=no]) - ]) - if test $glibcxx_cv_fchmodat = yes; then - AC_DEFINE(_GLIBCXX_USE_FCHMODAT, 1, [Define if fchmodat is available in <sys/stat.h>.]) - fi - AC_MSG_RESULT($glibcxx_cv_fchmodat) + AC_MSG_CHECKING([for fchmodat]) + AC_CACHE_VAL(glibcxx_cv_fchmodat, [dnl + GCC_TRY_COMPILE_OR_LINK( + [ + #include <fcntl.h> + #include <sys/stat.h> + ], + [fchmodat(AT_FDCWD, "", 0, AT_SYMLINK_NOFOLLOW);], + [glibcxx_cv_fchmodat=yes], + [glibcxx_cv_fchmodat=no]) + ]) + if test $glibcxx_cv_fchmodat = yes; then + AC_DEFINE(_GLIBCXX_USE_FCHMODAT, 1, [Define if fchmodat is available in <sys/stat.h>.]) + fi + AC_MSG_RESULT($glibcxx_cv_fchmodat) +dnl + AC_MSG_CHECKING([for sendfile that can copy files]) + AC_CACHE_VAL(glibcxx_cv_sendfile, [dnl + case "${target_os}" in + gnu* | linux* | solaris*) + GCC_TRY_COMPILE_OR_LINK( + [#include <sys/sendfile.h>], + [sendfile(1, 2, (off_t*)0, sizeof 1);], + [glibcxx_cv_sendfile=yes], + [glibcxx_cv_sendfile=no]) + ;; + *) + glibcxx_cv_sendfile=no + ;; + esac + ]) + if test $glibcxx_cv_sendfile = yes; then + AC_DEFINE(_GLIBCXX_USE_SENDFILE, 1, [Define if sendfile is available in <sys/sendfile.h>.]) + fi + AC_MSG_RESULT($glibcxx_cv_sendfile) dnl - AC_MSG_CHECKING([for sendfile that can copy files]) - AC_CACHE_VAL(glibcxx_cv_sendfile, [dnl - case "${target_os}" in - gnu* | linux* | solaris*) - GCC_TRY_COMPILE_OR_LINK( - [#include <sys/sendfile.h>], - [sendfile(1, 2, (off_t*)0, sizeof 1);], - [glibcxx_cv_sendfile=yes], - [glibcxx_cv_sendfile=no]) - ;; - *) - glibcxx_cv_sendfile=no - ;; - esac - ]) - if test $glibcxx_cv_sendfile = yes; then - AC_DEFINE(_GLIBCXX_USE_SENDFILE, 1, [Define if sendfile is available in <sys/sendfile.h>.]) - fi - AC_MSG_RESULT($glibcxx_cv_sendfile) + AC_MSG_CHECKING([for link]) + AC_CACHE_VAL(glibcxx_cv_link, [dnl + GCC_TRY_COMPILE_OR_LINK( + [#include <unistd.h>], + [link("", "");], + [glibcxx_cv_link=yes], + [glibcxx_cv_link=no]) + ]) + if test $glibcxx_cv_link = yes; then + AC_DEFINE(HAVE_LINK, 1, [Define if link is available in <unistd.h>.]) + fi + AC_MSG_RESULT($glibcxx_cv_link) dnl - CXXFLAGS="$ac_save_CXXFLAGS" - AC_LANG_RESTORE + AC_MSG_CHECKING([for readlink]) + AC_CACHE_VAL(glibcxx_cv_readlink, [dnl + GCC_TRY_COMPILE_OR_LINK( + [#include <unistd.h>], + [char buf[32]; readlink("", buf, sizeof(buf));], + [glibcxx_cv_readlink=yes], + [glibcxx_cv_readlink=no]) + ]) + if test $glibcxx_cv_readlink = yes; then + AC_DEFINE(HAVE_READLINK, 1, [Define if readlink is available in <unistd.h>.]) + fi + AC_MSG_RESULT($glibcxx_cv_readlink) +dnl + AC_MSG_CHECKING([for symlink]) + AC_CACHE_VAL(glibcxx_cv_symlink, [dnl + GCC_TRY_COMPILE_OR_LINK( + [#include <unistd.h>], + [symlink("", "");], + [glibcxx_cv_symlink=yes], + [glibcxx_cv_symlink=no]) + ]) + if test $glibcxx_cv_symlink = yes; then + AC_DEFINE(HAVE_SYMLINK, 1, [Define if symlink is available in <unistd.h>.]) + fi + AC_MSG_RESULT($glibcxx_cv_symlink) +dnl + CXXFLAGS="$ac_save_CXXFLAGS" + AC_LANG_RESTORE + fi ]) dnl diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in index 3fb685c..919a1f0 100644 --- a/libstdc++-v3/config.h.in +++ b/libstdc++-v3/config.h.in @@ -264,7 +264,7 @@ /* Only used in build directory testsuite_hooks.h. */ #undef HAVE_LIMIT_VMEM -/* Define to 1 if you have the `link' function. */ +/* Define if link is available in <unistd.h>. */ #undef HAVE_LINK /* Define if futex syscall is available. */ @@ -342,7 +342,7 @@ /* Define to 1 if you have the `quick_exit' function. */ #undef HAVE_QUICK_EXIT -/* Define to 1 if you have the `readlink' function. */ +/* Define if readlink is available in <unistd.h>. */ #undef HAVE_READLINK /* Define to 1 if you have the `setenv' function. */ @@ -414,7 +414,7 @@ /* Define if strxfrm_l is available in <string.h>. */ #undef HAVE_STRXFRM_L -/* Define to 1 if you have the `symlink' function. */ +/* Define if symlink is available in <unistd.h>. */ #undef HAVE_SYMLINK /* Define to 1 if the target runtime linker supports binding the same symbol diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index b9883d4..7bad764 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -80049,19 +80049,6 @@ fi done -for ac_func in link readlink symlink -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - # Check whether --enable-libstdcxx-filesystem-ts was given. if test "${enable_libstdcxx_filesystem_ts+set}" = set; then : @@ -80105,21 +80092,22 @@ $as_echo_n "checking whether to build Filesystem TS support... " >&6; } $as_echo "$enable_libstdcxx_filesystem_ts" >&6; } + if test $enable_libstdcxx_filesystem_ts = yes; then - ac_ext=cpp + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -fno-exceptions" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct dirent.d_type" >&5 + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -fno-exceptions" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct dirent.d_type" >&5 $as_echo_n "checking for struct dirent.d_type... " >&6; } - if test "${glibcxx_cv_dirent_d_type+set}" = set; then : + if test "${glibcxx_cv_dirent_d_type+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test x$gcc_no_link = xyes; then + if test x$gcc_no_link = xyes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <dirent.h> @@ -80127,8 +80115,8 @@ int main () { - struct dirent d; - if (sizeof d.d_type) return 0; + struct dirent d; + if (sizeof d.d_type) return 0; ; return 0; @@ -80151,8 +80139,8 @@ int main () { - struct dirent d; - if (sizeof d.d_type) return 0; + struct dirent d; + if (sizeof d.d_type) return 0; ; return 0; @@ -80169,37 +80157,37 @@ fi fi - if test $glibcxx_cv_dirent_d_type = yes; then + if test $glibcxx_cv_dirent_d_type = yes; then $as_echo "#define HAVE_STRUCT_DIRENT_D_TYPE 1" >>confdefs.h - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_dirent_d_type" >&5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_dirent_d_type" >&5 $as_echo "$glibcxx_cv_dirent_d_type" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for realpath" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for realpath" >&5 $as_echo_n "checking for realpath... " >&6; } - if test "${glibcxx_cv_realpath+set}" = set; then : + if test "${glibcxx_cv_realpath+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test x$gcc_no_link = xyes; then + if test x$gcc_no_link = xyes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include <limits.h> - #include <stdlib.h> - #include <unistd.h> + #include <limits.h> + #include <stdlib.h> + #include <unistd.h> int main () { - #if _XOPEN_VERSION < 500 - #error - #elif _XOPEN_VERSION >= 700 || defined(PATH_MAX) - char *tmp = realpath((const char*)NULL, (char*)NULL); - #else - #error - #endif + #if _XOPEN_VERSION < 500 + #error + #elif _XOPEN_VERSION >= 700 || defined(PATH_MAX) + char *tmp = realpath((const char*)NULL, (char*)NULL); + #else + #error + #endif ; return 0; @@ -80218,21 +80206,21 @@ fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include <limits.h> - #include <stdlib.h> - #include <unistd.h> + #include <limits.h> + #include <stdlib.h> + #include <unistd.h> int main () { - #if _XOPEN_VERSION < 500 - #error - #elif _XOPEN_VERSION >= 700 || defined(PATH_MAX) - char *tmp = realpath((const char*)NULL, (char*)NULL); - #else - #error - #endif + #if _XOPEN_VERSION < 500 + #error + #elif _XOPEN_VERSION >= 700 || defined(PATH_MAX) + char *tmp = realpath((const char*)NULL, (char*)NULL); + #else + #error + #endif ; return 0; @@ -80249,31 +80237,31 @@ fi fi - if test $glibcxx_cv_realpath = yes; then + if test $glibcxx_cv_realpath = yes; then $as_echo "#define _GLIBCXX_USE_REALPATH 1" >>confdefs.h - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_realpath" >&5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_realpath" >&5 $as_echo "$glibcxx_cv_realpath" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for utimensat" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for utimensat" >&5 $as_echo_n "checking for utimensat... " >&6; } - if test "${glibcxx_cv_utimensat+set}" = set; then : + if test "${glibcxx_cv_utimensat+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test x$gcc_no_link = xyes; then + if test x$gcc_no_link = xyes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include <fcntl.h> - #include <sys/stat.h> + #include <fcntl.h> + #include <sys/stat.h> int main () { - struct timespec ts[2] = { { 0, UTIME_OMIT }, { 1, 1 } }; - int i = utimensat(AT_FDCWD, "path", ts, 0); + struct timespec ts[2] = { { 0, UTIME_OMIT }, { 1, 1 } }; + int i = utimensat(AT_FDCWD, "path", ts, 0); ; return 0; @@ -80292,15 +80280,15 @@ fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include <fcntl.h> - #include <sys/stat.h> + #include <fcntl.h> + #include <sys/stat.h> int main () { - struct timespec ts[2] = { { 0, UTIME_OMIT }, { 1, 1 } }; - int i = utimensat(AT_FDCWD, "path", ts, 0); + struct timespec ts[2] = { { 0, UTIME_OMIT }, { 1, 1 } }; + int i = utimensat(AT_FDCWD, "path", ts, 0); ; return 0; @@ -80317,19 +80305,19 @@ fi fi - if test $glibcxx_cv_utimensat = yes; then + if test $glibcxx_cv_utimensat = yes; then $as_echo "#define _GLIBCXX_USE_UTIMENSAT 1" >>confdefs.h - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_utimensat" >&5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_utimensat" >&5 $as_echo "$glibcxx_cv_utimensat" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct stat.st_mtim.tv_nsec" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct stat.st_mtim.tv_nsec" >&5 $as_echo_n "checking for struct stat.st_mtim.tv_nsec... " >&6; } - if test "${glibcxx_cv_st_mtim+set}" = set; then : + if test "${glibcxx_cv_st_mtim+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test x$gcc_no_link = xyes; then + if test x$gcc_no_link = xyes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/stat.h> @@ -80337,8 +80325,8 @@ int main () { - struct stat st; - return st.st_mtim.tv_nsec; + struct stat st; + return st.st_mtim.tv_nsec; ; return 0; @@ -80361,8 +80349,8 @@ int main () { - struct stat st; - return st.st_mtim.tv_nsec; + struct stat st; + return st.st_mtim.tv_nsec; ; return 0; @@ -80379,19 +80367,19 @@ fi fi - if test $glibcxx_cv_st_mtim = yes; then + if test $glibcxx_cv_st_mtim = yes; then $as_echo "#define _GLIBCXX_USE_ST_MTIM 1" >>confdefs.h - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_st_mtim" >&5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_st_mtim" >&5 $as_echo "$glibcxx_cv_st_mtim" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fchmod" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fchmod" >&5 $as_echo_n "checking for fchmod... " >&6; } - if test "${glibcxx_cv_fchmod+set}" = set; then : + if test "${glibcxx_cv_fchmod+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test x$gcc_no_link = xyes; then + if test x$gcc_no_link = xyes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/stat.h> @@ -80435,24 +80423,24 @@ fi fi - if test $glibcxx_cv_fchmod = yes; then + if test $glibcxx_cv_fchmod = yes; then $as_echo "#define _GLIBCXX_USE_FCHMOD 1" >>confdefs.h - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_fchmod" >&5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_fchmod" >&5 $as_echo "$glibcxx_cv_fchmod" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fchmodat" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fchmodat" >&5 $as_echo_n "checking for fchmodat... " >&6; } - if test "${glibcxx_cv_fchmodat+set}" = set; then : + if test "${glibcxx_cv_fchmodat+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test x$gcc_no_link = xyes; then + if test x$gcc_no_link = xyes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include <fcntl.h> - #include <sys/stat.h> + #include <fcntl.h> + #include <sys/stat.h> int main () @@ -80475,8 +80463,8 @@ fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include <fcntl.h> - #include <sys/stat.h> + #include <fcntl.h> + #include <sys/stat.h> int main () @@ -80497,21 +80485,21 @@ fi fi - if test $glibcxx_cv_fchmodat = yes; then + if test $glibcxx_cv_fchmodat = yes; then $as_echo "#define _GLIBCXX_USE_FCHMODAT 1" >>confdefs.h - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_fchmodat" >&5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_fchmodat" >&5 $as_echo "$glibcxx_cv_fchmodat" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sendfile that can copy files" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sendfile that can copy files" >&5 $as_echo_n "checking for sendfile that can copy files... " >&6; } - if test "${glibcxx_cv_sendfile+set}" = set; then : + if test "${glibcxx_cv_sendfile+set}" = set; then : $as_echo_n "(cached) " >&6 else - case "${target_os}" in - gnu* | linux* | solaris*) - if test x$gcc_no_link = xyes; then + case "${target_os}" in + gnu* | linux* | solaris*) + if test x$gcc_no_link = xyes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/sendfile.h> @@ -80552,28 +80540,197 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi - ;; - *) - glibcxx_cv_sendfile=no - ;; - esac + ;; + *) + glibcxx_cv_sendfile=no + ;; + esac fi - if test $glibcxx_cv_sendfile = yes; then + if test $glibcxx_cv_sendfile = yes; then $as_echo "#define _GLIBCXX_USE_SENDFILE 1" >>confdefs.h - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_sendfile" >&5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_sendfile" >&5 $as_echo "$glibcxx_cv_sendfile" >&6; } - CXXFLAGS="$ac_save_CXXFLAGS" - ac_ext=c + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for link" >&5 +$as_echo_n "checking for link... " >&6; } + if test "${glibcxx_cv_link+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test x$gcc_no_link = xyes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <unistd.h> +int +main () +{ +link("", ""); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + glibcxx_cv_link=yes +else + glibcxx_cv_link=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + if test x$gcc_no_link = xyes; then + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 +fi +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <unistd.h> +int +main () +{ +link("", ""); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + glibcxx_cv_link=yes +else + glibcxx_cv_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi + +fi + + if test $glibcxx_cv_link = yes; then + +$as_echo "#define HAVE_LINK 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_link" >&5 +$as_echo "$glibcxx_cv_link" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for readlink" >&5 +$as_echo_n "checking for readlink... " >&6; } + if test "${glibcxx_cv_readlink+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test x$gcc_no_link = xyes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <unistd.h> +int +main () +{ +char buf[32]; readlink("", buf, sizeof(buf)); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + glibcxx_cv_readlink=yes +else + glibcxx_cv_readlink=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + if test x$gcc_no_link = xyes; then + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 +fi +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <unistd.h> +int +main () +{ +char buf[32]; readlink("", buf, sizeof(buf)); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + glibcxx_cv_readlink=yes +else + glibcxx_cv_readlink=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi + +fi + + if test $glibcxx_cv_readlink = yes; then + +$as_echo "#define HAVE_READLINK 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_readlink" >&5 +$as_echo "$glibcxx_cv_readlink" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for symlink" >&5 +$as_echo_n "checking for symlink... " >&6; } + if test "${glibcxx_cv_symlink+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test x$gcc_no_link = xyes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <unistd.h> +int +main () +{ +symlink("", ""); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + glibcxx_cv_symlink=yes +else + glibcxx_cv_symlink=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + if test x$gcc_no_link = xyes; then + as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 +fi +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <unistd.h> +int +main () +{ +symlink("", ""); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + glibcxx_cv_symlink=yes +else + glibcxx_cv_symlink=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi + +fi + + if test $glibcxx_cv_symlink = yes; then + +$as_echo "#define HAVE_SYMLINK 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_symlink" >&5 +$as_echo "$glibcxx_cv_symlink" >&6; } + CXXFLAGS="$ac_save_CXXFLAGS" + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu + fi # For Transactional Memory TS diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac index dde1c4d..7e1fd84 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -420,7 +420,6 @@ GLIBCXX_CHECK_GTHREADS # For Filesystem TS. AC_CHECK_HEADERS([fcntl.h dirent.h sys/statvfs.h utime.h]) -AC_CHECK_FUNCS(link readlink symlink) GLIBCXX_ENABLE_FILESYSTEM_TS GLIBCXX_CHECK_FILESYSTEM_DEPS |