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:
parent
47289a4e33
commit
41724e6a13
5 changed files with 52 additions and 6 deletions
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
3
libgfortran/configure
vendored
3
libgfortran/configure
vendored
|
@ -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
|
||||
|
|
|
@ -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])])
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue