config.h.in: Regenerate.

2004-10-30  Aaron W. LaFramboise <aaronavay62@aaronwl.com>

	* config.h.in: Regenerate.
	* configure: Regenerate.
	* configure.ac (AC_CHECK_FUNCS): Add mkstemp.
	* io/unix.c (S_IRGRP): Define if undefined.
	(S_IWGRP): Same.
	(S_IROTH): Same.
	(S_IWOTH): Same.
	(tempfile): Use mktemp if mkstemp missing, fix typos.

From-SVN: r89893
This commit is contained in:
Aaron W. LaFramboise 2004-10-30 10:23:23 -06:00 committed by Paul Brook
parent 47289a4e33
commit 41724e6a13
5 changed files with 52 additions and 6 deletions

View File

@ -1,3 +1,14 @@
2004-10-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac (AC_CHECK_FUNCS): Add mkstemp.
* io/unix.c (S_IRGRP): Define if undefined.
(S_IWGRP): Same.
(S_IROTH): Same.
(S_IWOTH): Same.
(tempfile): Use mktemp if mkstemp missing, fix typos.
2004-10-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* intrinsics/system.c ("libgfortran.h"): Move after system headers.

View File

@ -105,6 +105,9 @@
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `mkstemp' function. */
#undef HAVE_MKSTEMP
/* Define to 1 if you have a working `mmap' system call. */
#undef HAVE_MMAP
@ -115,7 +118,7 @@
#undef HAVE_NEXTAFTERF
/* libm includes powf */
# undef HAVE_POWF
#undef HAVE_POWF
/* libm includes round */
#undef HAVE_ROUND

View File

@ -6753,7 +6753,8 @@ fi
# Check for library functions.
for ac_func in getrusage times
for ac_func in getrusage times mkstemp
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
echo "$as_me:$LINENO: checking for $ac_func" >&5

View File

@ -159,7 +159,7 @@ AC_CHECK_HEADER([complex.h],[AC_DEFINE([HAVE_COMPLEX_H], [1], [complex.h exists]
AC_CHECK_LIB([m],[csin],[need_math="no"],[need_math="yes"])
# Check for library functions.
AC_CHECK_FUNCS(getrusage times)
AC_CHECK_FUNCS(getrusage times mkstemp)
# Check libc for getgid, getpid, getuid
AC_CHECK_LIB([c],[getgid],[AC_DEFINE([HAVE_GETGID],[1],[libc includes getgid])])

View File

@ -54,6 +54,24 @@ Boston, MA 02111-1307, USA. */
#define PROT_WRITE 2
#endif
/* These flags aren't defined on all targets (mingw32), so provide them
here. */
#ifndef S_IRGRP
#define S_IRGRP 0
#endif
#ifndef S_IWGRP
#define S_IWGRP 0
#endif
#ifndef S_IROTH
#define S_IROTH 0
#endif
#ifndef S_IWOTH
#define S_IWOTH 0
#endif
/* This implementation of stream I/O is based on the paper:
*
* "Exploiting the advantages of mapped files for stream I/O",
@ -921,8 +939,8 @@ unpack_filename (char *cstring, const char *fstring, int len)
/* tempfile()-- Generate a temporary filename for a scratch file and
* open it. mkstemp() opens the file for reading and writing, but the
* library mode prevents anything that is not allowed. The descriptor
* is returns, which is less than zero on error. The template is
* pointed to by ioparm.file, which is copied into the unit structure
* is returned, which is -1 on error. The template is pointed to by
* ioparm.file, which is copied into the unit structure
* and freed later. */
static int
@ -940,10 +958,23 @@ tempfile (void)
template = get_mem (strlen (tempdir) + 20);
st_sprintf (template, "%s/gfortantmpXXXXXX", tempdir);
st_sprintf (template, "%s/gfortrantmpXXXXXX", tempdir);
#ifdef HAVE_MKSTEMP
fd = mkstemp (template);
#else /* HAVE_MKSTEMP */
if (mktemp (template))
do
fd = open (template, O_CREAT | O_EXCL, S_IREAD | S_IWRITE);
while (!(fd == -1 && errno == EEXIST) && mktemp (template));
else
fd = -1;
#endif /* HAVE_MKSTEMP */
if (fd < 0)
free_mem (template);
else