+2011-02-24 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47802
+ * configure.ac: Add test for POSIX getpwuid_r.
+ * intrinsics/getlog.c (getlog): CPP test for
+ HAVE_POSIX_GETPWUID_R.
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+
2011-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/47567
/* Define to 1 if you have the `pipe' function. */
#undef HAVE_PIPE
+/* Define to 1 if we have POSIX getpwuid_r which takes 5 arguments. */
+#undef HAVE_POSIX_GETPWUID_R
+
/* libm includes pow */
#undef HAVE_POW
IEEE_FLAGS="${ieee_flags}"
+
+# Check for POSIX getpwuid_r
+#
+# There are two versions of getpwuid_r, the POSIX one with 5
+# arguments, and another one with 4 arguments used by at least HP-UX
+# 10.2.
+if test "$ac_cv_func_getpwuid_r" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking POSIX version of getpwuid_r with 5 arguments" >&5
+$as_echo_n "checking POSIX version of getpwuid_r with 5 arguments... " >&6; }
+if test "${libgfor_cv_posix_getpwuid_r+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+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 <stdio.h>
+#include <sys/types.h>
+#include <pwd.h>
+int
+main ()
+{
+
+ getpwuid_r(0, NULL, NULL, 0, NULL);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ libgfor_cv_posix_getpwuid_r="yes"
+else
+ libgfor_cv_posix_getpwuid_r="no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgfor_cv_posix_getpwuid_r" >&5
+$as_echo "$libgfor_cv_posix_getpwuid_r" >&6; }
+fi
+if test "$libgfor_cv_posix_getpwuid_r" = "yes"; then
+
+$as_echo "#define HAVE_POSIX_GETPWUID_R 1" >>confdefs.h
+
+fi
+
+
# Check out attribute support.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports hidden visibility" >&5
IEEE_FLAGS="${ieee_flags}"
AC_SUBST(IEEE_FLAGS)
+
+# Check for POSIX getpwuid_r
+#
+# There are two versions of getpwuid_r, the POSIX one with 5
+# arguments, and another one with 4 arguments used by at least HP-UX
+# 10.2.
+if test "$ac_cv_func_getpwuid_r" = "yes"; then
+ AC_CACHE_CHECK([POSIX version of getpwuid_r with 5 arguments], libgfor_cv_posix_getpwuid_r, [
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([
+#include <stdio.h>
+#include <sys/types.h>
+#include <pwd.h>], [
+ getpwuid_r(0, NULL, NULL, 0, NULL);
+ ])], [libgfor_cv_posix_getpwuid_r="yes"], [libgfor_cv_posix_getpwuid_r="no"])])
+fi
+if test "$libgfor_cv_posix_getpwuid_r" = "yes"; then
+ AC_DEFINE([HAVE_POSIX_GETPWUID_R], [1], [Define to 1 if we have POSIX getpwuid_r which takes 5 arguments.])
+fi
+
+
# Check out attribute support.
LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY
LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT
memset (login, ' ', login_len); /* Blank the string. */
-#if defined(HAVE_GETPWUID_R) && defined(HAVE_GETEUID)
+#if defined(HAVE_POSIX_GETPWUID_R) && defined(HAVE_GETEUID)
struct passwd pwd;
struct passwd *result;
char *buf;
memcpy (login, p, p_len);
cleanup:
-#ifdef HAVE_GETPWUID_R
+#if defined (HAVE_POSIX_GETPWUID_R) && defined(HAVE_GETEUID)
free (buf);
#else
;