mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-15 15:10:14 +08:00
Configure cleanup.
2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> * configure.ac (AC_STDC_HEADERS): Remove. (AC_HEADER_TIME): Remove. (AC_HAVE_HEADERS, AC_CHECK_HEADERS): Move into a single invocation of AC_CHECK_HEADERS_ONCE, don't check for presence of C89 headers. (AC_CHECK_MEMBERS): Use single invocation. (AC_CHECK_FUNCS): Move into single invocation of AC_CHEC_FUNCS_ONCE, don't check for presence of C89 functions. * config.h.in: Regenerate. * configure: Regenerate. * intrinsics/clock.c: Include time.h. (mclock): Assume clock() is present. (mclock8): Likewise. * intrinsics/ctime.c (strctime): Assume strftime is present. (fdate): Assume time() is present. (fdate_sub): Likewise. (ctime): Likewise. * intrinsics/date_and_time.c: Don't provide abs macro. (HAVE_NO_DATE_TIME): Remove code related to macro which is never set. * intrinsics/execute_command_line.c: Assume stdlib.h is present. * intrinsics/exit.c: Likewise. * intrinsics/extends_type_of.c: Likewise. * intrinsics/gerror.c: Assume strerror() is present. * intrinsics/kill.c: Assume signal.h is present. * intrinsics/malloc.c: Assume stdlib.h is present. * intrinsics/move_alloc.c: Likewise. * intrinsics/perror.c: Assume perror() is present. * intrinsics/signal.c: Assume signal.h is present. * intrinsics/stat.c: Assume stdlib.h is present. * intrinsics/system.c: Likewise. * intrinsics/time.c: Include time.h, assume time() is present. * intrinsics/time_1.h: Conditionally include sys/time.h, unconditionally time.h. (gf_cputime): Do division in double, fallback using clock(). (gf_gettime): Assume time() is present. * intrinsics/umask.c: Assume stdlib.h is present. * runtime/backtrace.c: Likewise. * runtime/compile_options.c: Assume signal.h is present, assume C89 signals are present. * runtime/error.c: Assume signal.h and stdlib.h are present. From-SVN: r181227
This commit is contained in:
parent
4b6245331e
commit
7454437875
@ -1,3 +1,46 @@
|
||||
2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
|
||||
|
||||
* configure.ac (AC_STDC_HEADERS): Remove.
|
||||
(AC_HEADER_TIME): Remove.
|
||||
(AC_HAVE_HEADERS, AC_CHECK_HEADERS): Move into a single invocation
|
||||
of AC_CHECK_HEADERS_ONCE, don't check for presence of C89 headers.
|
||||
(AC_CHECK_MEMBERS): Use single invocation.
|
||||
(AC_CHECK_FUNCS): Move into single invocation of
|
||||
AC_CHEC_FUNCS_ONCE, don't check for presence of C89 functions.
|
||||
* config.h.in: Regenerate.
|
||||
* configure: Regenerate.
|
||||
* intrinsics/clock.c: Include time.h.
|
||||
(mclock): Assume clock() is present.
|
||||
(mclock8): Likewise.
|
||||
* intrinsics/ctime.c (strctime): Assume strftime is present.
|
||||
(fdate): Assume time() is present.
|
||||
(fdate_sub): Likewise.
|
||||
(ctime): Likewise.
|
||||
* intrinsics/date_and_time.c: Don't provide abs macro.
|
||||
(HAVE_NO_DATE_TIME): Remove code related to macro which is never
|
||||
set.
|
||||
* intrinsics/execute_command_line.c: Assume stdlib.h is present.
|
||||
* intrinsics/exit.c: Likewise.
|
||||
* intrinsics/extends_type_of.c: Likewise.
|
||||
* intrinsics/gerror.c: Assume strerror() is present.
|
||||
* intrinsics/kill.c: Assume signal.h is present.
|
||||
* intrinsics/malloc.c: Assume stdlib.h is present.
|
||||
* intrinsics/move_alloc.c: Likewise.
|
||||
* intrinsics/perror.c: Assume perror() is present.
|
||||
* intrinsics/signal.c: Assume signal.h is present.
|
||||
* intrinsics/stat.c: Assume stdlib.h is present.
|
||||
* intrinsics/system.c: Likewise.
|
||||
* intrinsics/time.c: Include time.h, assume time() is present.
|
||||
* intrinsics/time_1.h: Conditionally include sys/time.h,
|
||||
unconditionally time.h.
|
||||
(gf_cputime): Do division in double, fallback using clock().
|
||||
(gf_gettime): Assume time() is present.
|
||||
* intrinsics/umask.c: Assume stdlib.h is present.
|
||||
* runtime/backtrace.c: Likewise.
|
||||
* runtime/compile_options.c: Assume signal.h is present, assume
|
||||
C89 signals are present.
|
||||
* runtime/error.c: Assume signal.h and stdlib.h are present.
|
||||
|
||||
2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
|
||||
|
||||
PR fortran/46686
|
||||
|
@ -198,9 +198,6 @@
|
||||
/* Define to 1 if you have the `chsize' function. */
|
||||
#undef HAVE_CHSIZE
|
||||
|
||||
/* Define to 1 if you have the `clock' function. */
|
||||
#undef HAVE_CLOCK
|
||||
|
||||
/* Define to 1 if you have the `clock_gettime' function. */
|
||||
#undef HAVE_CLOCK_GETTIME
|
||||
|
||||
@ -228,7 +225,7 @@
|
||||
/* Define to 1 if you have the `close' function. */
|
||||
#undef HAVE_CLOSE
|
||||
|
||||
/* complex.h exists */
|
||||
/* Define to 1 if you have the <complex.h> header file. */
|
||||
#undef HAVE_COMPLEX_H
|
||||
|
||||
/* libm includes copysign */
|
||||
@ -381,9 +378,6 @@
|
||||
/* Define to 1 if you have the <floatingpoint.h> header file. */
|
||||
#undef HAVE_FLOATINGPOINT_H
|
||||
|
||||
/* Define to 1 if you have the <float.h> header file. */
|
||||
#undef HAVE_FLOAT_H
|
||||
|
||||
/* libm includes floor */
|
||||
#undef HAVE_FLOOR
|
||||
|
||||
@ -435,10 +429,10 @@
|
||||
/* Define to 1 if you have the `getcwd' function. */
|
||||
#undef HAVE_GETCWD
|
||||
|
||||
/* libc includes geteuid */
|
||||
/* Define to 1 if you have the `geteuid' function. */
|
||||
#undef HAVE_GETEUID
|
||||
|
||||
/* libc includes getgid */
|
||||
/* Define to 1 if you have the `getgid' function. */
|
||||
#undef HAVE_GETGID
|
||||
|
||||
/* Define to 1 if you have the `gethostname' function. */
|
||||
@ -450,10 +444,10 @@
|
||||
/* Define to 1 if you have the `getlogin' function. */
|
||||
#undef HAVE_GETLOGIN
|
||||
|
||||
/* libc includes getpid */
|
||||
/* Define to 1 if you have the `getpid' function. */
|
||||
#undef HAVE_GETPID
|
||||
|
||||
/* libc includes getppid */
|
||||
/* Define to 1 if you have the `getppid' function. */
|
||||
#undef HAVE_GETPPID
|
||||
|
||||
/* Define to 1 if you have the `getpwuid' function. */
|
||||
@ -471,7 +465,7 @@
|
||||
/* Define to 1 if you have the `gettimeofday' function. */
|
||||
#undef HAVE_GETTIMEOFDAY
|
||||
|
||||
/* libc includes getuid */
|
||||
/* Define to 1 if you have the `getuid' function. */
|
||||
#undef HAVE_GETUID
|
||||
|
||||
/* Define to 1 if you have the `gmtime_r' function. */
|
||||
@ -606,9 +600,6 @@
|
||||
/* libm includes nextafterl */
|
||||
#undef HAVE_NEXTAFTERL
|
||||
|
||||
/* Define to 1 if you have the `perror' function. */
|
||||
#undef HAVE_PERROR
|
||||
|
||||
/* Define to 1 if you have the `pipe' function. */
|
||||
#undef HAVE_PIPE
|
||||
|
||||
@ -654,12 +645,6 @@
|
||||
/* Define to 1 if you have the `setmode' function. */
|
||||
#undef HAVE_SETMODE
|
||||
|
||||
/* Define to 1 if you have the `signal' function. */
|
||||
#undef HAVE_SIGNAL
|
||||
|
||||
/* Define to 1 if you have the <signal.h> header file. */
|
||||
#undef HAVE_SIGNAL_H
|
||||
|
||||
/* libm includes sin */
|
||||
#undef HAVE_SIN
|
||||
|
||||
@ -696,30 +681,18 @@
|
||||
/* Define to 1 if you have the `stat' function. */
|
||||
#undef HAVE_STAT
|
||||
|
||||
/* Define to 1 if you have the <stdarg.h> header file. */
|
||||
#undef HAVE_STDARG_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdio.h> header file. */
|
||||
#undef HAVE_STDIO_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the `strcasestr' function. */
|
||||
#undef HAVE_STRCASESTR
|
||||
|
||||
/* Define to 1 if you have the `strerror' function. */
|
||||
#undef HAVE_STRERROR
|
||||
|
||||
/* Define to 1 if you have the `strerror_r' function. */
|
||||
#undef HAVE_STRERROR_R
|
||||
|
||||
/* Define to 1 if you have the `strftime' function. */
|
||||
#undef HAVE_STRFTIME
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
@ -792,15 +765,9 @@
|
||||
/* libm includes tgammal */
|
||||
#undef HAVE_TGAMMAL
|
||||
|
||||
/* Define to 1 if you have the `time' function. */
|
||||
#undef HAVE_TIME
|
||||
|
||||
/* Define to 1 if you have the `times' function. */
|
||||
#undef HAVE_TIMES
|
||||
|
||||
/* Define to 1 if you have the <time.h> header file. */
|
||||
#undef HAVE_TIME_H
|
||||
|
||||
/* libm includes trunc */
|
||||
#undef HAVE_TRUNC
|
||||
|
||||
@ -907,9 +874,6 @@
|
||||
/* Define to 1 if the target supports #pragma weak */
|
||||
#undef SUPPORTS_WEAK
|
||||
|
||||
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
||||
#undef TIME_WITH_SYS_TIME
|
||||
|
||||
/* Enable extensions on AIX 3, Interix. */
|
||||
#ifndef _ALL_SOURCE
|
||||
# undef _ALL_SOURCE
|
||||
|
634
libgfortran/configure
vendored
634
libgfortran/configure
vendored
@ -597,6 +597,8 @@ ac_includes_default="\
|
||||
# include <unistd.h>
|
||||
#endif"
|
||||
|
||||
ac_header_list=
|
||||
ac_func_list=
|
||||
ac_c_werror_flag=
|
||||
ac_subst_vars='am__EXEEXT_FALSE
|
||||
am__EXEEXT_TRUE
|
||||
@ -2528,6 +2530,68 @@ $as_echo "$as_me: creating cache $cache_file" >&6;}
|
||||
>$cache_file
|
||||
fi
|
||||
|
||||
as_fn_append ac_header_list " unistd.h"
|
||||
as_fn_append ac_header_list " sys/time.h"
|
||||
as_fn_append ac_header_list " sys/times.h"
|
||||
as_fn_append ac_header_list " sys/resource.h"
|
||||
as_fn_append ac_header_list " sys/types.h"
|
||||
as_fn_append ac_header_list " sys/stat.h"
|
||||
as_fn_append ac_header_list " sys/wait.h"
|
||||
as_fn_append ac_header_list " floatingpoint.h"
|
||||
as_fn_append ac_header_list " ieeefp.h"
|
||||
as_fn_append ac_header_list " fenv.h"
|
||||
as_fn_append ac_header_list " fptrap.h"
|
||||
as_fn_append ac_header_list " pwd.h"
|
||||
as_fn_append ac_header_list " complex.h"
|
||||
as_fn_append ac_func_list " getrusage"
|
||||
as_fn_append ac_func_list " times"
|
||||
as_fn_append ac_func_list " mkstemp"
|
||||
as_fn_append ac_func_list " strtof"
|
||||
as_fn_append ac_func_list " strtold"
|
||||
as_fn_append ac_func_list " snprintf"
|
||||
as_fn_append ac_func_list " ftruncate"
|
||||
as_fn_append ac_func_list " chsize"
|
||||
as_fn_append ac_func_list " chdir"
|
||||
as_fn_append ac_func_list " getlogin"
|
||||
as_fn_append ac_func_list " gethostname"
|
||||
as_fn_append ac_func_list " kill"
|
||||
as_fn_append ac_func_list " link"
|
||||
as_fn_append ac_func_list " symlink"
|
||||
as_fn_append ac_func_list " sleep"
|
||||
as_fn_append ac_func_list " ttyname"
|
||||
as_fn_append ac_func_list " alarm"
|
||||
as_fn_append ac_func_list " access"
|
||||
as_fn_append ac_func_list " fork"
|
||||
as_fn_append ac_func_list " execl"
|
||||
as_fn_append ac_func_list " wait"
|
||||
as_fn_append ac_func_list " setmode"
|
||||
as_fn_append ac_func_list " execve"
|
||||
as_fn_append ac_func_list " pipe"
|
||||
as_fn_append ac_func_list " dup2"
|
||||
as_fn_append ac_func_list " close"
|
||||
as_fn_append ac_func_list " fdopen"
|
||||
as_fn_append ac_func_list " strcasestr"
|
||||
as_fn_append ac_func_list " getrlimit"
|
||||
as_fn_append ac_func_list " gettimeofday"
|
||||
as_fn_append ac_func_list " stat"
|
||||
as_fn_append ac_func_list " fstat"
|
||||
as_fn_append ac_func_list " lstat"
|
||||
as_fn_append ac_func_list " getpwuid"
|
||||
as_fn_append ac_func_list " vsnprintf"
|
||||
as_fn_append ac_func_list " dup"
|
||||
as_fn_append ac_func_list " getcwd"
|
||||
as_fn_append ac_func_list " localtime_r"
|
||||
as_fn_append ac_func_list " gmtime_r"
|
||||
as_fn_append ac_func_list " strerror_r"
|
||||
as_fn_append ac_func_list " getpwuid_r"
|
||||
as_fn_append ac_func_list " ttyname_r"
|
||||
as_fn_append ac_func_list " clock_gettime"
|
||||
as_fn_append ac_func_list " readlink"
|
||||
as_fn_append ac_func_list " getgid"
|
||||
as_fn_append ac_func_list " getpid"
|
||||
as_fn_append ac_func_list " getppid"
|
||||
as_fn_append ac_func_list " getuid"
|
||||
as_fn_append ac_func_list " geteuid"
|
||||
# Check that the precious variables saved in the cache have kept the same
|
||||
# value.
|
||||
ac_cache_corrupted=false
|
||||
@ -12254,7 +12318,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 12257 "configure"
|
||||
#line 12321 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -12360,7 +12424,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 12363 "configure"
|
||||
#line 12427 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -15871,158 +15935,15 @@ _ACEOF
|
||||
fi
|
||||
|
||||
|
||||
# check header files
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
|
||||
$as_echo_n "checking for ANSI C header files... " >&6; }
|
||||
if test "${ac_cv_header_stdc+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <float.h>
|
||||
# check header files (we assume C89 is available, so don't check for that)
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_cv_header_stdc=yes
|
||||
else
|
||||
ac_cv_header_stdc=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
|
||||
if test $ac_cv_header_stdc = yes; then
|
||||
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <string.h>
|
||||
|
||||
_ACEOF
|
||||
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||
$EGREP "memchr" >/dev/null 2>&1; then :
|
||||
|
||||
else
|
||||
ac_cv_header_stdc=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
fi
|
||||
|
||||
if test $ac_cv_header_stdc = yes; then
|
||||
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <stdlib.h>
|
||||
|
||||
_ACEOF
|
||||
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||
$EGREP "free" >/dev/null 2>&1; then :
|
||||
|
||||
else
|
||||
ac_cv_header_stdc=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
fi
|
||||
|
||||
if test $ac_cv_header_stdc = yes; then
|
||||
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
|
||||
if test "$cross_compiling" = yes; then :
|
||||
:
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <ctype.h>
|
||||
#include <stdlib.h>
|
||||
#if ((' ' & 0x0FF) == 0x020)
|
||||
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
||||
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
|
||||
#else
|
||||
# define ISLOWER(c) \
|
||||
(('a' <= (c) && (c) <= 'i') \
|
||||
|| ('j' <= (c) && (c) <= 'r') \
|
||||
|| ('s' <= (c) && (c) <= 'z'))
|
||||
# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
|
||||
#endif
|
||||
|
||||
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
|
||||
int
|
||||
main ()
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < 256; i++)
|
||||
if (XOR (islower (i), ISLOWER (i))
|
||||
|| toupper (i) != TOUPPER (i))
|
||||
return 2;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_run "$LINENO"; then :
|
||||
|
||||
else
|
||||
ac_cv_header_stdc=no
|
||||
fi
|
||||
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
||||
conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||
fi
|
||||
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
|
||||
$as_echo "$ac_cv_header_stdc" >&6; }
|
||||
if test $ac_cv_header_stdc = yes; then
|
||||
|
||||
$as_echo "#define STDC_HEADERS 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
|
||||
$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
|
||||
if test "${ac_cv_header_time+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
#include <time.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
if ((struct tm *) 0)
|
||||
return 0;
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_cv_header_time=yes
|
||||
else
|
||||
ac_cv_header_time=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5
|
||||
$as_echo "$ac_cv_header_time" >&6; }
|
||||
if test $ac_cv_header_time = yes; then
|
||||
|
||||
$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
for ac_header in stdio.h stdlib.h string.h unistd.h signal.h stdarg.h
|
||||
for ac_header in $ac_header_list
|
||||
do :
|
||||
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
|
||||
ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
|
||||
"
|
||||
eval as_val=\$$as_ac_Header
|
||||
if test "x$as_val" = x""yes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@ -16033,54 +15954,32 @@ fi
|
||||
|
||||
done
|
||||
|
||||
for ac_header in time.h sys/time.h sys/times.h sys/resource.h
|
||||
do :
|
||||
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
|
||||
eval as_val=\$$as_ac_Header
|
||||
if test "x$as_val" = x""yes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
for ac_header in sys/types.h sys/stat.h sys/wait.h floatingpoint.h ieeefp.h
|
||||
do :
|
||||
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
|
||||
eval as_val=\$$as_ac_Header
|
||||
if test "x$as_val" = x""yes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
for ac_header in fenv.h fptrap.h float.h pwd.h
|
||||
do :
|
||||
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
|
||||
eval as_val=\$$as_ac_Header
|
||||
if test "x$as_val" = x""yes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "complex.h" "ac_cv_header_complex_h" "$ac_includes_default"
|
||||
if test "x$ac_cv_header_complex_h" = x""yes; then :
|
||||
|
||||
$as_echo "#define HAVE_COMPLEX_H 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -16499,7 +16398,6 @@ _ACEOF
|
||||
|
||||
|
||||
fi
|
||||
|
||||
ac_fn_c_check_member "$LINENO" "struct stat" "st_blocks" "ac_cv_member_struct_stat_st_blocks" "$ac_includes_default"
|
||||
if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then :
|
||||
|
||||
@ -16509,7 +16407,6 @@ _ACEOF
|
||||
|
||||
|
||||
fi
|
||||
|
||||
ac_fn_c_check_member "$LINENO" "struct stat" "st_rdev" "ac_cv_member_struct_stat_st_rdev" "$ac_includes_default"
|
||||
if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then :
|
||||
|
||||
@ -16522,85 +16419,10 @@ fi
|
||||
|
||||
|
||||
# Check for library functions.
|
||||
for ac_func in getrusage times mkstemp strtof strtold snprintf ftruncate chsize
|
||||
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
|
||||
|
||||
for ac_func in chdir strerror getlogin gethostname kill link symlink perror
|
||||
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
|
||||
|
||||
for ac_func in sleep time ttyname signal alarm clock access fork execl
|
||||
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
|
||||
|
||||
for ac_func in wait setmode execve pipe dup2 close fdopen strcasestr getrlimit
|
||||
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
|
||||
|
||||
for ac_func in gettimeofday stat fstat lstat getpwuid vsnprintf dup getcwd
|
||||
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
|
||||
|
||||
for ac_func in localtime_r gmtime_r strerror_r getpwuid_r ttyname_r
|
||||
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
|
||||
|
||||
for ac_func in clock_gettime strftime readlink
|
||||
for ac_func in $ac_func_list
|
||||
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"
|
||||
@ -16614,231 +16436,103 @@ fi
|
||||
done
|
||||
|
||||
|
||||
# Check libc for getgid, getpid, getuid
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getgid in -lc" >&5
|
||||
$as_echo_n "checking for getgid in -lc... " >&6; }
|
||||
if test "${ac_cv_lib_c_getgid+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
LIBS="-lc $LIBS"
|
||||
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. */
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
builtin and then its argument prototype would still apply. */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char getgid ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return getgid ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_lib_c_getgid=yes
|
||||
else
|
||||
ac_cv_lib_c_getgid=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$ac_check_lib_save_LIBS
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_getgid" >&5
|
||||
$as_echo "$ac_cv_lib_c_getgid" >&6; }
|
||||
if test "x$ac_cv_lib_c_getgid" = x""yes; then :
|
||||
|
||||
$as_echo "#define HAVE_GETGID 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpid in -lc" >&5
|
||||
$as_echo_n "checking for getpid in -lc... " >&6; }
|
||||
if test "${ac_cv_lib_c_getpid+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
LIBS="-lc $LIBS"
|
||||
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. */
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
builtin and then its argument prototype would still apply. */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char getpid ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return getpid ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_lib_c_getpid=yes
|
||||
else
|
||||
ac_cv_lib_c_getpid=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$ac_check_lib_save_LIBS
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_getpid" >&5
|
||||
$as_echo "$ac_cv_lib_c_getpid" >&6; }
|
||||
if test "x$ac_cv_lib_c_getpid" = x""yes; then :
|
||||
|
||||
$as_echo "#define HAVE_GETPID 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getppid in -lc" >&5
|
||||
$as_echo_n "checking for getppid in -lc... " >&6; }
|
||||
if test "${ac_cv_lib_c_getppid+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
LIBS="-lc $LIBS"
|
||||
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. */
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
builtin and then its argument prototype would still apply. */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char getppid ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return getppid ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_lib_c_getppid=yes
|
||||
else
|
||||
ac_cv_lib_c_getppid=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$ac_check_lib_save_LIBS
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_getppid" >&5
|
||||
$as_echo "$ac_cv_lib_c_getppid" >&6; }
|
||||
if test "x$ac_cv_lib_c_getppid" = x""yes; then :
|
||||
|
||||
$as_echo "#define HAVE_GETPPID 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getuid in -lc" >&5
|
||||
$as_echo_n "checking for getuid in -lc... " >&6; }
|
||||
if test "${ac_cv_lib_c_getuid+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
LIBS="-lc $LIBS"
|
||||
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. */
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
builtin and then its argument prototype would still apply. */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char getuid ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return getuid ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_lib_c_getuid=yes
|
||||
else
|
||||
ac_cv_lib_c_getuid=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$ac_check_lib_save_LIBS
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_getuid" >&5
|
||||
$as_echo "$ac_cv_lib_c_getuid" >&6; }
|
||||
if test "x$ac_cv_lib_c_getuid" = x""yes; then :
|
||||
|
||||
$as_echo "#define HAVE_GETUID 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for geteuid in -lc" >&5
|
||||
$as_echo_n "checking for geteuid in -lc... " >&6; }
|
||||
if test "${ac_cv_lib_c_geteuid+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
LIBS="-lc $LIBS"
|
||||
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. */
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
builtin and then its argument prototype would still apply. */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char geteuid ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return geteuid ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_lib_c_geteuid=yes
|
||||
else
|
||||
ac_cv_lib_c_geteuid=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$ac_check_lib_save_LIBS
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_geteuid" >&5
|
||||
$as_echo "$ac_cv_lib_c_geteuid" >&6; }
|
||||
if test "x$ac_cv_lib_c_geteuid" = x""yes; then :
|
||||
|
||||
$as_echo "#define HAVE_GETEUID 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Check for C99 (and other IEEE) math functions
|
||||
|
@ -251,35 +251,22 @@ AC_TYPE_INTPTR_T
|
||||
AC_TYPE_UINTPTR_T
|
||||
AC_CHECK_TYPES([ptrdiff_t])
|
||||
|
||||
# check header files
|
||||
AC_STDC_HEADERS
|
||||
AC_HEADER_TIME
|
||||
AC_HAVE_HEADERS(stdio.h stdlib.h string.h unistd.h signal.h stdarg.h)
|
||||
AC_CHECK_HEADERS(time.h sys/time.h sys/times.h sys/resource.h)
|
||||
AC_CHECK_HEADERS(sys/types.h sys/stat.h sys/wait.h floatingpoint.h ieeefp.h)
|
||||
AC_CHECK_HEADERS(fenv.h fptrap.h float.h pwd.h)
|
||||
AC_CHECK_HEADER([complex.h],[AC_DEFINE([HAVE_COMPLEX_H], [1], [complex.h exists])])
|
||||
# check header files (we assume C89 is available, so don't check for that)
|
||||
AC_CHECK_HEADERS_ONCE(unistd.h sys/time.h sys/times.h sys/resource.h \
|
||||
sys/types.h sys/stat.h sys/wait.h floatingpoint.h ieeefp.h fenv.h fptrap.h \
|
||||
pwd.h complex.h)
|
||||
|
||||
GCC_HEADER_STDINT(gstdint.h)
|
||||
|
||||
AC_CHECK_MEMBERS([struct stat.st_blksize])
|
||||
AC_CHECK_MEMBERS([struct stat.st_blocks])
|
||||
AC_CHECK_MEMBERS([struct stat.st_rdev])
|
||||
AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_blocks, struct stat.st_rdev])
|
||||
|
||||
# Check for library functions.
|
||||
AC_CHECK_FUNCS(getrusage times mkstemp strtof strtold snprintf ftruncate chsize)
|
||||
AC_CHECK_FUNCS(chdir strerror getlogin gethostname kill link symlink perror)
|
||||
AC_CHECK_FUNCS(sleep time ttyname signal alarm clock access fork execl)
|
||||
AC_CHECK_FUNCS(wait setmode execve pipe dup2 close fdopen strcasestr getrlimit)
|
||||
AC_CHECK_FUNCS(gettimeofday stat fstat lstat getpwuid vsnprintf dup getcwd)
|
||||
AC_CHECK_FUNCS(localtime_r gmtime_r strerror_r getpwuid_r ttyname_r)
|
||||
AC_CHECK_FUNCS(clock_gettime strftime readlink)
|
||||
|
||||
# Check libc for getgid, getpid, getuid
|
||||
AC_CHECK_LIB([c],[getgid],[AC_DEFINE([HAVE_GETGID],[1],[libc includes getgid])])
|
||||
AC_CHECK_LIB([c],[getpid],[AC_DEFINE([HAVE_GETPID],[1],[libc includes getpid])])
|
||||
AC_CHECK_LIB([c],[getppid],[AC_DEFINE([HAVE_GETPPID],[1],[libc includes getppid])])
|
||||
AC_CHECK_LIB([c],[getuid],[AC_DEFINE([HAVE_GETUID],[1],[libc includes getuid])])
|
||||
AC_CHECK_LIB([c],[geteuid],[AC_DEFINE([HAVE_GETEUID],[1],[libc includes geteuid])])
|
||||
AC_CHECK_FUNCS_ONCE(getrusage times mkstemp strtof strtold snprintf \
|
||||
ftruncate chsize chdir getlogin gethostname kill link symlink sleep ttyname \
|
||||
alarm access fork execl wait setmode execve pipe dup2 close fdopen \
|
||||
strcasestr getrlimit gettimeofday stat fstat lstat getpwuid vsnprintf dup \
|
||||
getcwd localtime_r gmtime_r strerror_r getpwuid_r ttyname_r clock_gettime \
|
||||
readlink getgid getpid getppid getuid geteuid)
|
||||
|
||||
# Check for C99 (and other IEEE) math functions
|
||||
AC_CHECK_LIB([m],[acosf],[AC_DEFINE([HAVE_ACOSF],[1],[libm includes acosf])])
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MCLOCK and MCLOCK8 g77 intrinsics.
|
||||
Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2006, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -24,19 +24,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include "libgfortran.h"
|
||||
|
||||
#ifdef TIME_WITH_SYS_TIME
|
||||
# include <sys/time.h>
|
||||
# include <time.h>
|
||||
#else
|
||||
# if HAVE_SYS_TIME_H
|
||||
# include <sys/time.h>
|
||||
# else
|
||||
# ifdef HAVE_TIME_H
|
||||
# include <time.h>
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
#include <time.h>
|
||||
|
||||
|
||||
/* INTEGER(KIND=4) FUNCTION MCLOCK() */
|
||||
@ -47,11 +35,7 @@ export_proto(mclock);
|
||||
GFC_INTEGER_4
|
||||
mclock (void)
|
||||
{
|
||||
#ifdef HAVE_CLOCK
|
||||
return (GFC_INTEGER_4) clock ();
|
||||
#else
|
||||
return (GFC_INTEGER_4) -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -63,10 +47,6 @@ export_proto(mclock8);
|
||||
GFC_INTEGER_8
|
||||
mclock8 (void)
|
||||
{
|
||||
#ifdef HAVE_CLOCK
|
||||
return (GFC_INTEGER_8) clock ();
|
||||
#else
|
||||
return (GFC_INTEGER_8) -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -39,7 +39,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
static size_t
|
||||
strctime (char *s, size_t max, const time_t *timep)
|
||||
{
|
||||
#ifdef HAVE_STRFTIME
|
||||
struct tm ltm;
|
||||
int failed;
|
||||
/* Some targets provide a localtime_r based on a draft of the POSIX
|
||||
@ -52,9 +51,6 @@ strctime (char *s, size_t max, const time_t *timep)
|
||||
if (failed)
|
||||
return 0;
|
||||
return strftime (s, max, "%c", <m);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* In the default locale, the date and time representation fits in 26
|
||||
@ -67,15 +63,9 @@ export_proto(fdate);
|
||||
void
|
||||
fdate (char ** date, gfc_charlen_type * date_len)
|
||||
{
|
||||
#if defined(HAVE_TIME)
|
||||
time_t now = time(NULL);
|
||||
*date = get_mem (CSZ);
|
||||
*date_len = strctime (*date, CSZ, &now);
|
||||
#else
|
||||
|
||||
*date = NULL;
|
||||
*date_len = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -85,15 +75,11 @@ export_proto(fdate_sub);
|
||||
void
|
||||
fdate_sub (char * date, gfc_charlen_type date_len)
|
||||
{
|
||||
#if defined(HAVE_TIME)
|
||||
time_t now = time(NULL);
|
||||
char *s = get_mem (date_len + 1);
|
||||
size_t n = strctime (s, date_len + 1, &now);
|
||||
fstrcpy (date, date_len, s, n);
|
||||
free (s);
|
||||
#else
|
||||
memset (date, ' ', date_len);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -104,15 +90,9 @@ export_proto_np(PREFIX(ctime));
|
||||
void
|
||||
PREFIX(ctime) (char ** date, gfc_charlen_type * date_len, GFC_INTEGER_8 t)
|
||||
{
|
||||
#if defined(HAVE_TIME)
|
||||
time_t now = t;
|
||||
*date = get_mem (CSZ);
|
||||
*date_len = strctime (*date, CSZ, &now);
|
||||
#else
|
||||
|
||||
*date = NULL;
|
||||
*date_len = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@ -31,10 +31,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
|
||||
#include "time_1.h"
|
||||
|
||||
#ifndef abs
|
||||
#define abs(x) ((x)>=0 ? (x) : -(x))
|
||||
#endif
|
||||
|
||||
|
||||
/* If the re-entrant version of gmtime is not available, provide a
|
||||
fallback implementation. On some targets where the _r version is
|
||||
@ -143,7 +139,6 @@ date_and_time (char *__date, char *__time, char *__zone,
|
||||
char zone[ZONE_LEN + 1];
|
||||
GFC_INTEGER_4 values[VALUES_SIZE];
|
||||
|
||||
#ifndef HAVE_NO_DATE_TIME
|
||||
time_t lt;
|
||||
struct tm local_time;
|
||||
struct tm UTC_time;
|
||||
@ -193,21 +188,6 @@ date_and_time (char *__date, char *__time, char *__zone,
|
||||
for (i = 0; i < VALUES_SIZE; i++)
|
||||
values[i] = - GFC_INTEGER_4_HUGE;
|
||||
}
|
||||
#else /* if defined HAVE_NO_DATE_TIME */
|
||||
/* We really have *nothing* to return, so return blanks and HUGE(0). */
|
||||
|
||||
memset (date, ' ', DATE_LEN);
|
||||
date[DATE_LEN] = '\0';
|
||||
|
||||
memset (timec, ' ', TIME_LEN);
|
||||
timec[TIME_LEN] = '\0';
|
||||
|
||||
memset (zone, ' ', ZONE_LEN);
|
||||
zone[ZONE_LEN] = '\0';
|
||||
|
||||
for (i = 0; i < VALUES_SIZE; i++)
|
||||
values[i] = - GFC_INTEGER_4_HUGE;
|
||||
#endif /* HAVE_NO_DATE_TIME */
|
||||
|
||||
/* Copy the values into the arguments. */
|
||||
if (__values)
|
||||
@ -321,7 +301,6 @@ secnds (GFC_REAL_4 *x)
|
||||
static void
|
||||
itime0 (int x[3])
|
||||
{
|
||||
#ifndef HAVE_NO_DATE_TIME
|
||||
time_t lt;
|
||||
struct tm local_time;
|
||||
|
||||
@ -335,9 +314,6 @@ itime0 (int x[3])
|
||||
x[1] = local_time.tm_min;
|
||||
x[2] = local_time.tm_sec;
|
||||
}
|
||||
#else
|
||||
x[0] = x[1] = x[2] = -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
extern void itime_i4 (gfc_array_i4 *);
|
||||
@ -403,7 +379,6 @@ itime_i8 (gfc_array_i8 *__values)
|
||||
static void
|
||||
idate0 (int x[3])
|
||||
{
|
||||
#ifndef HAVE_NO_DATE_TIME
|
||||
time_t lt;
|
||||
struct tm local_time;
|
||||
|
||||
@ -417,9 +392,6 @@ idate0 (int x[3])
|
||||
x[1] = 1 + local_time.tm_mon;
|
||||
x[2] = 1900 + local_time.tm_year;
|
||||
}
|
||||
#else
|
||||
x[0] = x[1] = x[2] = -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
extern void idate_i4 (gfc_array_i4 *);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Implementation of the EXECUTE_COMMAND_LINE intrinsic.
|
||||
Copyright (C) 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2009, 2011 Free Software Foundation, Inc.
|
||||
Contributed by François-Xavier Coudert.
|
||||
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
@ -26,10 +26,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
#include "libgfortran.h"
|
||||
#include <string.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the EXIT intrinsic.
|
||||
Copyright (C) 2004, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
Contributed by Steven G. Kargl <kargls@comcast.net>.
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -25,10 +25,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
|
||||
|
||||
#include "libgfortran.h"
|
||||
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
|
||||
/* SUBROUTINE EXIT(STATUS)
|
||||
INTEGER, INTENT(IN), OPTIONAL :: STATUS */
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the EXTENDS_TYPE_OF intrinsic.
|
||||
Copyright (C) 2004, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
Contributed by Janus Weil <janus@gcc.gnu.org>.
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -25,10 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
|
||||
|
||||
#include "libgfortran.h"
|
||||
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct vtype
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the GERROR g77 intrinsic.
|
||||
Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -33,7 +33,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
message corresponding to the last system error (C errno).
|
||||
CHARACTER(len=*), INTENT(OUT) :: MESSAGE */
|
||||
|
||||
#ifdef HAVE_STRERROR
|
||||
void PREFIX(gerror) (char *, gfc_charlen_type);
|
||||
export_proto_np(PREFIX(gerror));
|
||||
|
||||
@ -56,4 +55,3 @@ PREFIX(gerror) (char * msg, gfc_charlen_type msg_len)
|
||||
if (msg_len > p_len)
|
||||
memset (&msg[p_len], ' ', msg_len - p_len);
|
||||
}
|
||||
#endif
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the KILL g77 intrinsic.
|
||||
Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -25,10 +25,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
|
||||
#include "libgfortran.h"
|
||||
#include <errno.h>
|
||||
|
||||
#ifdef HAVE_SIGNAL_H
|
||||
#include <signal.h>
|
||||
#endif
|
||||
|
||||
|
||||
/* SUBROUTINE KILL(PID, SIGNAL, STATUS)
|
||||
INTEGER, INTENT(IN) :: PID, SIGNAL
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MALLOC and FREE intrinsics
|
||||
Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -24,10 +24,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include "libgfortran.h"
|
||||
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
|
||||
extern void PREFIX(free) (void **);
|
||||
export_proto_np(PREFIX(free));
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Generic implementation of the MOVE_ALLOC intrinsic
|
||||
Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2006, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
Contributed by Paul Thomas
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -24,10 +24,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include "libgfortran.h"
|
||||
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
|
||||
extern void move_alloc (gfc_array_char *, gfc_array_char *);
|
||||
export_proto(move_alloc);
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the PERROR intrinsic.
|
||||
Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -31,7 +31,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
/* SUBROUTINE PERROR(STRING)
|
||||
CHARACTER(len=*), INTENT(IN) :: STRING */
|
||||
|
||||
#ifdef HAVE_PERROR
|
||||
extern void perror_sub (char *, gfc_charlen_type);
|
||||
iexport_proto(perror_sub);
|
||||
|
||||
@ -52,4 +51,3 @@ perror_sub (char *string, gfc_charlen_type string_len)
|
||||
perror (str);
|
||||
}
|
||||
iexport(perror_sub);
|
||||
#endif
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the SIGNAL and ALARM g77 intrinsics
|
||||
Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -29,9 +29,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_SIGNAL_H
|
||||
#include <signal.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_INTTYPES_H
|
||||
#include <inttypes.h>
|
||||
@ -46,7 +44,6 @@ iexport_proto(signal_sub);
|
||||
void
|
||||
signal_sub (int *number, void (*handler)(int), int *status)
|
||||
{
|
||||
#ifdef HAVE_SIGNAL
|
||||
intptr_t ret;
|
||||
|
||||
if (status != NULL)
|
||||
@ -56,11 +53,6 @@ signal_sub (int *number, void (*handler)(int), int *status)
|
||||
}
|
||||
else
|
||||
signal (*number, handler);
|
||||
#else
|
||||
errno = ENOSYS;
|
||||
if (status != NULL)
|
||||
*status = -1;
|
||||
#endif
|
||||
}
|
||||
iexport(signal_sub);
|
||||
|
||||
@ -72,7 +64,6 @@ iexport_proto(signal_sub_int);
|
||||
void
|
||||
signal_sub_int (int *number, int *handler, int *status)
|
||||
{
|
||||
#ifdef HAVE_SIGNAL
|
||||
intptr_t ptr = *handler, ret;
|
||||
|
||||
if (status != NULL)
|
||||
@ -82,11 +73,6 @@ signal_sub_int (int *number, int *handler, int *status)
|
||||
}
|
||||
else
|
||||
signal (*number, (void (*)(int)) ptr);
|
||||
#else
|
||||
errno = ENOSYS;
|
||||
if (status != NULL)
|
||||
*status = -1;
|
||||
#endif
|
||||
}
|
||||
iexport(signal_sub_int);
|
||||
|
||||
@ -129,7 +115,7 @@ alarm_sub_i4 (int * seconds __attribute__ ((unused)),
|
||||
void (*handler)(int) __attribute__ ((unused)),
|
||||
GFC_INTEGER_4 *status)
|
||||
{
|
||||
#if defined (SIGALRM) && defined (HAVE_ALARM) && defined (HAVE_SIGNAL)
|
||||
#if defined (SIGALRM) && defined (HAVE_ALARM)
|
||||
if (status != NULL)
|
||||
{
|
||||
if (signal (SIGALRM, handler) == SIG_ERR)
|
||||
@ -159,7 +145,7 @@ alarm_sub_i8 (int *seconds __attribute__ ((unused)),
|
||||
void (*handler)(int) __attribute__ ((unused)),
|
||||
GFC_INTEGER_8 *status)
|
||||
{
|
||||
#if defined (SIGALRM) && defined (HAVE_ALARM) && defined (HAVE_SIGNAL)
|
||||
#if defined (SIGALRM) && defined (HAVE_ALARM)
|
||||
if (status != NULL)
|
||||
{
|
||||
if (signal (SIGALRM, handler) == SIG_ERR)
|
||||
@ -190,7 +176,7 @@ alarm_sub_int_i4 (int *seconds __attribute__ ((unused)),
|
||||
int *handler __attribute__ ((unused)),
|
||||
GFC_INTEGER_4 *status)
|
||||
{
|
||||
#if defined (SIGALRM) && defined (HAVE_ALARM) && defined (HAVE_SIGNAL)
|
||||
#if defined (SIGALRM) && defined (HAVE_ALARM)
|
||||
if (status != NULL)
|
||||
{
|
||||
if (signal (SIGALRM, (void (*)(int)) (intptr_t) *handler) == SIG_ERR)
|
||||
@ -220,7 +206,7 @@ alarm_sub_int_i8 (int *seconds __attribute__ ((unused)),
|
||||
int *handler __attribute__ ((unused)),
|
||||
GFC_INTEGER_8 *status)
|
||||
{
|
||||
#if defined (SIGALRM) && defined (HAVE_ALARM) && defined (HAVE_SIGNAL)
|
||||
#if defined (SIGALRM) && defined (HAVE_ALARM)
|
||||
if (status != NULL)
|
||||
{
|
||||
if (signal (SIGALRM, (void (*)(int)) (intptr_t) *handler) == SIG_ERR)
|
||||
|
@ -1,8 +1,9 @@
|
||||
/* Implementation of the STAT and FSTAT intrinsics.
|
||||
Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2005, 2006, 2007, 2009, 2011
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Steven G. Kargl <kargls@comcast.net>.
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -32,9 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
#include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef HAVE_STAT
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the SYSTEM intrinsic.
|
||||
Copyright (C) 2004, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
Contributed by Tobias Schlüter.
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free
|
||||
@ -25,10 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
|
||||
#include "libgfortran.h"
|
||||
#include <string.h>
|
||||
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
extern void system_sub (const char *fcmd, GFC_INTEGER_4 * status,
|
||||
gfc_charlen_type cmd_len);
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the TIME and TIME8 g77 intrinsics.
|
||||
Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
Contributed by François-Xavier Coudert <coudert@clipper.ens.fr>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -24,24 +24,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include "libgfortran.h"
|
||||
|
||||
#ifdef TIME_WITH_SYS_TIME
|
||||
# include <sys/time.h>
|
||||
# include <time.h>
|
||||
#else
|
||||
# if HAVE_SYS_TIME_H
|
||||
# include <sys/time.h>
|
||||
# else
|
||||
# ifdef HAVE_TIME_H
|
||||
# include <time.h>
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
#include <time.h>
|
||||
|
||||
|
||||
/* INTEGER(KIND=4) FUNCTION TIME() */
|
||||
|
||||
#ifdef HAVE_TIME
|
||||
extern GFC_INTEGER_4 time_func (void);
|
||||
export_proto(time_func);
|
||||
|
||||
@ -61,4 +48,3 @@ time8_func (void)
|
||||
{
|
||||
return (GFC_INTEGER_8) time (NULL);
|
||||
}
|
||||
#endif
|
||||
|
@ -40,19 +40,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
As usual with UNIX systems, unfortunately no single way is
|
||||
available for all systems. */
|
||||
|
||||
#ifdef TIME_WITH_SYS_TIME
|
||||
# include <sys/time.h>
|
||||
# include <time.h>
|
||||
#else
|
||||
# if HAVE_SYS_TIME_H
|
||||
# include <sys/time.h>
|
||||
# else
|
||||
# ifdef HAVE_TIME_H
|
||||
# include <time.h>
|
||||
# endif
|
||||
# endif
|
||||
#ifdef HAVE_SYS_TIME_H
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
|
||||
#include <time.h>
|
||||
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
@ -174,20 +167,21 @@ gf_cputime (long *user_sec, long *user_usec, long *system_sec, long *system_usec
|
||||
clock_t err;
|
||||
err = times (&buf);
|
||||
*user_sec = buf.tms_utime / HZ;
|
||||
*user_usec = buf.tms_utime % HZ * (1000000 / HZ);
|
||||
*user_usec = buf.tms_utime % HZ * (1000000. / HZ);
|
||||
*system_sec = buf.tms_stime / HZ;
|
||||
*system_usec = buf.tms_stime % HZ * (1000000 / HZ);
|
||||
*system_usec = buf.tms_stime % HZ * (1000000. / HZ);
|
||||
if ((err == (clock_t) -1) && errno != 0)
|
||||
return -1;
|
||||
return 0;
|
||||
|
||||
#else
|
||||
|
||||
/* We have nothing to go on. Return -1. */
|
||||
*user_sec = *system_sec = 0;
|
||||
*user_usec = *system_usec = 0;
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
clock_t c = clock ();
|
||||
*user_sec = c / CLOCKS_PER_SEC;
|
||||
*user_usec = c % CLOCKS_PER_SEC * (1000000. / CLOCKS_PER_SEC);
|
||||
*system_sec = *system_usec = 0;
|
||||
if (c == (clock_t) -1)
|
||||
return -1;
|
||||
return 0;
|
||||
|
||||
#endif
|
||||
}
|
||||
@ -218,7 +212,7 @@ gf_gettime (time_t * secs, long * usecs)
|
||||
*secs = tv.tv_sec;
|
||||
*usecs = tv.tv_usec;
|
||||
return err;
|
||||
#elif HAVE_TIME
|
||||
#else
|
||||
time_t t, t2;
|
||||
t = time (&t2);
|
||||
*secs = t2;
|
||||
@ -226,11 +220,6 @@ gf_gettime (time_t * secs, long * usecs)
|
||||
if (t == ((time_t)-1))
|
||||
return -1;
|
||||
return 0;
|
||||
#else
|
||||
*secs = 0;
|
||||
*usecs = 0;
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the UMASK intrinsic.
|
||||
Copyright (C) 2004, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
Contributed by Steven G. Kargl <kargls@comcast.net>.
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -25,10 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
|
||||
|
||||
#include "libgfortran.h"
|
||||
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_SYS_STAT_H
|
||||
#include <sys/stat.h>
|
||||
|
@ -27,13 +27,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
#include "io.h"
|
||||
#include "fbuf.h"
|
||||
#include "unix.h"
|
||||
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
|
||||
|
||||
static const int five = 5;
|
||||
static const int six = 6;
|
||||
|
||||
|
@ -25,6 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
#include "libgfortran.h"
|
||||
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Handling of compile-time options that influence the library.
|
||||
Copyright (C) 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
@ -23,10 +23,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include "libgfortran.h"
|
||||
|
||||
#ifdef HAVE_SIGNAL_H
|
||||
#include <signal.h>
|
||||
#endif
|
||||
|
||||
|
||||
/* Useful compile-time options will be stored in here. */
|
||||
@ -94,32 +91,17 @@ set_options (int num, int options[])
|
||||
|
||||
/* If backtrace is required, we set signal handlers on the POSIX
|
||||
2001 signals with core action. */
|
||||
#if defined(HAVE_SIGNAL) && (defined(SIGQUIT) || defined(SIGILL) \
|
||||
|| defined(SIGABRT) || defined(SIGFPE) \
|
||||
|| defined(SIGSEGV) || defined(SIGBUS) \
|
||||
|| defined(SIGSYS) || defined(SIGTRAP) \
|
||||
|| defined(SIGXCPU) || defined(SIGXFSZ))
|
||||
if (compile_options.backtrace)
|
||||
{
|
||||
#if defined(SIGQUIT)
|
||||
signal (SIGQUIT, backtrace_handler);
|
||||
#endif
|
||||
|
||||
#if defined(SIGILL)
|
||||
/* The following 4 signals are defined by C89. */
|
||||
signal (SIGILL, backtrace_handler);
|
||||
#endif
|
||||
|
||||
#if defined(SIGABRT)
|
||||
signal (SIGABRT, backtrace_handler);
|
||||
#endif
|
||||
|
||||
#if defined(SIGFPE)
|
||||
signal (SIGFPE, backtrace_handler);
|
||||
#endif
|
||||
|
||||
#if defined(SIGSEGV)
|
||||
signal (SIGSEGV, backtrace_handler);
|
||||
#endif
|
||||
|
||||
#if defined(SIGBUS)
|
||||
signal (SIGBUS, backtrace_handler);
|
||||
@ -143,8 +125,6 @@ set_options (int num, int options[])
|
||||
|
||||
maybe_find_addr2line ();
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -28,18 +28,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
#ifdef HAVE_SIGNAL_H
|
||||
#include <signal.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_SYS_TIME_H
|
||||
#include <sys/time.h>
|
||||
@ -172,9 +167,7 @@ sys_abort (void)
|
||||
|| (options.backtrace == -1 && compile_options.backtrace == 1))
|
||||
{
|
||||
show_backtrace ();
|
||||
#if defined(HAVE_SIGNAL) && defined(SIGABRT)
|
||||
signal (SIGABRT, SIG_DFL);
|
||||
#endif
|
||||
}
|
||||
|
||||
abort();
|
||||
|
Loading…
Reference in New Issue
Block a user