Commit 74544378 by Janne Blomqvist

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
parent 4b624533
2011-11-09 Janne Blomqvist <jb@gcc.gnu.org> 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 PR fortran/46686
* runtime/backtrace.c (show_backtrace): Fix incorrect comment. * runtime/backtrace.c (show_backtrace): Fix incorrect comment.
......
...@@ -198,9 +198,6 @@ ...@@ -198,9 +198,6 @@
/* Define to 1 if you have the `chsize' function. */ /* Define to 1 if you have the `chsize' function. */
#undef HAVE_CHSIZE #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. */ /* Define to 1 if you have the `clock_gettime' function. */
#undef HAVE_CLOCK_GETTIME #undef HAVE_CLOCK_GETTIME
...@@ -228,7 +225,7 @@ ...@@ -228,7 +225,7 @@
/* Define to 1 if you have the `close' function. */ /* Define to 1 if you have the `close' function. */
#undef HAVE_CLOSE #undef HAVE_CLOSE
/* complex.h exists */ /* Define to 1 if you have the <complex.h> header file. */
#undef HAVE_COMPLEX_H #undef HAVE_COMPLEX_H
/* libm includes copysign */ /* libm includes copysign */
...@@ -381,9 +378,6 @@ ...@@ -381,9 +378,6 @@
/* Define to 1 if you have the <floatingpoint.h> header file. */ /* Define to 1 if you have the <floatingpoint.h> header file. */
#undef HAVE_FLOATINGPOINT_H #undef HAVE_FLOATINGPOINT_H
/* Define to 1 if you have the <float.h> header file. */
#undef HAVE_FLOAT_H
/* libm includes floor */ /* libm includes floor */
#undef HAVE_FLOOR #undef HAVE_FLOOR
...@@ -435,10 +429,10 @@ ...@@ -435,10 +429,10 @@
/* Define to 1 if you have the `getcwd' function. */ /* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD #undef HAVE_GETCWD
/* libc includes geteuid */ /* Define to 1 if you have the `geteuid' function. */
#undef HAVE_GETEUID #undef HAVE_GETEUID
/* libc includes getgid */ /* Define to 1 if you have the `getgid' function. */
#undef HAVE_GETGID #undef HAVE_GETGID
/* Define to 1 if you have the `gethostname' function. */ /* Define to 1 if you have the `gethostname' function. */
...@@ -450,10 +444,10 @@ ...@@ -450,10 +444,10 @@
/* Define to 1 if you have the `getlogin' function. */ /* Define to 1 if you have the `getlogin' function. */
#undef HAVE_GETLOGIN #undef HAVE_GETLOGIN
/* libc includes getpid */ /* Define to 1 if you have the `getpid' function. */
#undef HAVE_GETPID #undef HAVE_GETPID
/* libc includes getppid */ /* Define to 1 if you have the `getppid' function. */
#undef HAVE_GETPPID #undef HAVE_GETPPID
/* Define to 1 if you have the `getpwuid' function. */ /* Define to 1 if you have the `getpwuid' function. */
...@@ -471,7 +465,7 @@ ...@@ -471,7 +465,7 @@
/* Define to 1 if you have the `gettimeofday' function. */ /* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY #undef HAVE_GETTIMEOFDAY
/* libc includes getuid */ /* Define to 1 if you have the `getuid' function. */
#undef HAVE_GETUID #undef HAVE_GETUID
/* Define to 1 if you have the `gmtime_r' function. */ /* Define to 1 if you have the `gmtime_r' function. */
...@@ -606,9 +600,6 @@ ...@@ -606,9 +600,6 @@
/* libm includes nextafterl */ /* libm includes nextafterl */
#undef HAVE_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. */ /* Define to 1 if you have the `pipe' function. */
#undef HAVE_PIPE #undef HAVE_PIPE
...@@ -654,12 +645,6 @@ ...@@ -654,12 +645,6 @@
/* Define to 1 if you have the `setmode' function. */ /* Define to 1 if you have the `setmode' function. */
#undef HAVE_SETMODE #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 */ /* libm includes sin */
#undef HAVE_SIN #undef HAVE_SIN
...@@ -696,30 +681,18 @@ ...@@ -696,30 +681,18 @@
/* Define to 1 if you have the `stat' function. */ /* Define to 1 if you have the `stat' function. */
#undef HAVE_STAT #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. */ /* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H #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. */ /* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H #undef HAVE_STDLIB_H
/* Define to 1 if you have the `strcasestr' function. */ /* Define to 1 if you have the `strcasestr' function. */
#undef HAVE_STRCASESTR #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. */ /* Define to 1 if you have the `strerror_r' function. */
#undef HAVE_STRERROR_R #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. */ /* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H #undef HAVE_STRINGS_H
...@@ -792,15 +765,9 @@ ...@@ -792,15 +765,9 @@
/* libm includes tgammal */ /* libm includes tgammal */
#undef HAVE_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. */ /* Define to 1 if you have the `times' function. */
#undef HAVE_TIMES #undef HAVE_TIMES
/* Define to 1 if you have the <time.h> header file. */
#undef HAVE_TIME_H
/* libm includes trunc */ /* libm includes trunc */
#undef HAVE_TRUNC #undef HAVE_TRUNC
...@@ -907,9 +874,6 @@ ...@@ -907,9 +874,6 @@
/* Define to 1 if the target supports #pragma weak */ /* Define to 1 if the target supports #pragma weak */
#undef SUPPORTS_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. */ /* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE #ifndef _ALL_SOURCE
# undef _ALL_SOURCE # undef _ALL_SOURCE
......
...@@ -251,35 +251,22 @@ AC_TYPE_INTPTR_T ...@@ -251,35 +251,22 @@ AC_TYPE_INTPTR_T
AC_TYPE_UINTPTR_T AC_TYPE_UINTPTR_T
AC_CHECK_TYPES([ptrdiff_t]) AC_CHECK_TYPES([ptrdiff_t])
# check header files # check header files (we assume C89 is available, so don't check for that)
AC_STDC_HEADERS AC_CHECK_HEADERS_ONCE(unistd.h sys/time.h sys/times.h sys/resource.h \
AC_HEADER_TIME sys/types.h sys/stat.h sys/wait.h floatingpoint.h ieeefp.h fenv.h fptrap.h \
AC_HAVE_HEADERS(stdio.h stdlib.h string.h unistd.h signal.h stdarg.h) pwd.h complex.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])])
GCC_HEADER_STDINT(gstdint.h) GCC_HEADER_STDINT(gstdint.h)
AC_CHECK_MEMBERS([struct stat.st_blksize]) AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_blocks, struct stat.st_rdev])
AC_CHECK_MEMBERS([struct stat.st_blocks])
AC_CHECK_MEMBERS([struct stat.st_rdev])
# Check for library functions. # Check for library functions.
AC_CHECK_FUNCS(getrusage times mkstemp strtof strtold snprintf ftruncate chsize) AC_CHECK_FUNCS_ONCE(getrusage times mkstemp strtof strtold snprintf \
AC_CHECK_FUNCS(chdir strerror getlogin gethostname kill link symlink perror) ftruncate chsize chdir getlogin gethostname kill link symlink sleep ttyname \
AC_CHECK_FUNCS(sleep time ttyname signal alarm clock access fork execl) alarm access fork execl wait setmode execve pipe dup2 close fdopen \
AC_CHECK_FUNCS(wait setmode execve pipe dup2 close fdopen strcasestr getrlimit) strcasestr getrlimit gettimeofday stat fstat lstat getpwuid vsnprintf dup \
AC_CHECK_FUNCS(gettimeofday stat fstat lstat getpwuid vsnprintf dup getcwd) getcwd localtime_r gmtime_r strerror_r getpwuid_r ttyname_r clock_gettime \
AC_CHECK_FUNCS(localtime_r gmtime_r strerror_r getpwuid_r ttyname_r) readlink getgid getpid getppid getuid geteuid)
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])])
# Check for C99 (and other IEEE) math functions # Check for C99 (and other IEEE) math functions
AC_CHECK_LIB([m],[acosf],[AC_DEFINE([HAVE_ACOSF],[1],[libm includes acosf])]) AC_CHECK_LIB([m],[acosf],[AC_DEFINE([HAVE_ACOSF],[1],[libm includes acosf])])
......
/* Implementation of the MCLOCK and MCLOCK8 g77 intrinsics. /* 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> 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 Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public 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 ...@@ -24,19 +24,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include "libgfortran.h" #include "libgfortran.h"
#include <time.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
/* INTEGER(KIND=4) FUNCTION MCLOCK() */ /* INTEGER(KIND=4) FUNCTION MCLOCK() */
...@@ -47,11 +35,7 @@ export_proto(mclock); ...@@ -47,11 +35,7 @@ export_proto(mclock);
GFC_INTEGER_4 GFC_INTEGER_4
mclock (void) mclock (void)
{ {
#ifdef HAVE_CLOCK
return (GFC_INTEGER_4) clock (); return (GFC_INTEGER_4) clock ();
#else
return (GFC_INTEGER_4) -1;
#endif
} }
...@@ -63,10 +47,6 @@ export_proto(mclock8); ...@@ -63,10 +47,6 @@ export_proto(mclock8);
GFC_INTEGER_8 GFC_INTEGER_8
mclock8 (void) mclock8 (void)
{ {
#ifdef HAVE_CLOCK
return (GFC_INTEGER_8) 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 ...@@ -39,7 +39,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
static size_t static size_t
strctime (char *s, size_t max, const time_t *timep) strctime (char *s, size_t max, const time_t *timep)
{ {
#ifdef HAVE_STRFTIME
struct tm ltm; struct tm ltm;
int failed; int failed;
/* Some targets provide a localtime_r based on a draft of the POSIX /* 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) ...@@ -52,9 +51,6 @@ strctime (char *s, size_t max, const time_t *timep)
if (failed) if (failed)
return 0; return 0;
return strftime (s, max, "%c", &ltm); return strftime (s, max, "%c", &ltm);
#else
return 0;
#endif
} }
/* In the default locale, the date and time representation fits in 26 /* In the default locale, the date and time representation fits in 26
...@@ -67,15 +63,9 @@ export_proto(fdate); ...@@ -67,15 +63,9 @@ export_proto(fdate);
void void
fdate (char ** date, gfc_charlen_type * date_len) fdate (char ** date, gfc_charlen_type * date_len)
{ {
#if defined(HAVE_TIME)
time_t now = time(NULL); time_t now = time(NULL);
*date = get_mem (CSZ); *date = get_mem (CSZ);
*date_len = strctime (*date, CSZ, &now); *date_len = strctime (*date, CSZ, &now);
#else
*date = NULL;
*date_len = 0;
#endif
} }
...@@ -85,15 +75,11 @@ export_proto(fdate_sub); ...@@ -85,15 +75,11 @@ export_proto(fdate_sub);
void void
fdate_sub (char * date, gfc_charlen_type date_len) fdate_sub (char * date, gfc_charlen_type date_len)
{ {
#if defined(HAVE_TIME)
time_t now = time(NULL); time_t now = time(NULL);
char *s = get_mem (date_len + 1); char *s = get_mem (date_len + 1);
size_t n = strctime (s, date_len + 1, &now); size_t n = strctime (s, date_len + 1, &now);
fstrcpy (date, date_len, s, n); fstrcpy (date, date_len, s, n);
free (s); free (s);
#else
memset (date, ' ', date_len);
#endif
} }
...@@ -104,15 +90,9 @@ export_proto_np(PREFIX(ctime)); ...@@ -104,15 +90,9 @@ export_proto_np(PREFIX(ctime));
void void
PREFIX(ctime) (char ** date, gfc_charlen_type * date_len, GFC_INTEGER_8 t) PREFIX(ctime) (char ** date, gfc_charlen_type * date_len, GFC_INTEGER_8 t)
{ {
#if defined(HAVE_TIME)
time_t now = t; time_t now = t;
*date = get_mem (CSZ); *date = get_mem (CSZ);
*date_len = strctime (*date, CSZ, &now); *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 ...@@ -31,10 +31,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "time_1.h" #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 /* If the re-entrant version of gmtime is not available, provide a
fallback implementation. On some targets where the _r version is fallback implementation. On some targets where the _r version is
...@@ -143,7 +139,6 @@ date_and_time (char *__date, char *__time, char *__zone, ...@@ -143,7 +139,6 @@ date_and_time (char *__date, char *__time, char *__zone,
char zone[ZONE_LEN + 1]; char zone[ZONE_LEN + 1];
GFC_INTEGER_4 values[VALUES_SIZE]; GFC_INTEGER_4 values[VALUES_SIZE];
#ifndef HAVE_NO_DATE_TIME
time_t lt; time_t lt;
struct tm local_time; struct tm local_time;
struct tm UTC_time; struct tm UTC_time;
...@@ -193,21 +188,6 @@ date_and_time (char *__date, char *__time, char *__zone, ...@@ -193,21 +188,6 @@ date_and_time (char *__date, char *__time, char *__zone,
for (i = 0; i < VALUES_SIZE; i++) for (i = 0; i < VALUES_SIZE; i++)
values[i] = - GFC_INTEGER_4_HUGE; 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. */ /* Copy the values into the arguments. */
if (__values) if (__values)
...@@ -321,7 +301,6 @@ secnds (GFC_REAL_4 *x) ...@@ -321,7 +301,6 @@ secnds (GFC_REAL_4 *x)
static void static void
itime0 (int x[3]) itime0 (int x[3])
{ {
#ifndef HAVE_NO_DATE_TIME
time_t lt; time_t lt;
struct tm local_time; struct tm local_time;
...@@ -335,9 +314,6 @@ itime0 (int x[3]) ...@@ -335,9 +314,6 @@ itime0 (int x[3])
x[1] = local_time.tm_min; x[1] = local_time.tm_min;
x[2] = local_time.tm_sec; x[2] = local_time.tm_sec;
} }
#else
x[0] = x[1] = x[2] = -1;
#endif
} }
extern void itime_i4 (gfc_array_i4 *); extern void itime_i4 (gfc_array_i4 *);
...@@ -403,7 +379,6 @@ itime_i8 (gfc_array_i8 *__values) ...@@ -403,7 +379,6 @@ itime_i8 (gfc_array_i8 *__values)
static void static void
idate0 (int x[3]) idate0 (int x[3])
{ {
#ifndef HAVE_NO_DATE_TIME
time_t lt; time_t lt;
struct tm local_time; struct tm local_time;
...@@ -417,9 +392,6 @@ idate0 (int x[3]) ...@@ -417,9 +392,6 @@ idate0 (int x[3])
x[1] = 1 + local_time.tm_mon; x[1] = 1 + local_time.tm_mon;
x[2] = 1900 + local_time.tm_year; x[2] = 1900 + local_time.tm_year;
} }
#else
x[0] = x[1] = x[2] = -1;
#endif
} }
extern void idate_i4 (gfc_array_i4 *); extern void idate_i4 (gfc_array_i4 *);
......
/* Implementation of the EXECUTE_COMMAND_LINE intrinsic. /* 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. Contributed by François-Xavier Coudert.
This file is part of the GNU Fortran runtime library (libgfortran). 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 ...@@ -26,10 +26,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h" #include "libgfortran.h"
#include <string.h> #include <string.h>
#include <stdbool.h> #include <stdbool.h>
#ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif
#ifdef HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif
......
/* Implementation of the EXIT intrinsic. /* 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>. 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 Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public 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 ...@@ -25,10 +25,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h" #include "libgfortran.h"
#ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif
/* SUBROUTINE EXIT(STATUS) /* SUBROUTINE EXIT(STATUS)
INTEGER, INTENT(IN), OPTIONAL :: STATUS */ INTEGER, INTENT(IN), OPTIONAL :: STATUS */
......
/* Implementation of the EXTENDS_TYPE_OF intrinsic. /* 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>. 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 Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public 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 ...@@ -25,10 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h" #include "libgfortran.h"
#ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif
typedef struct vtype typedef struct vtype
......
/* Implementation of the GERROR g77 intrinsic. /* 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> 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 Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public 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 ...@@ -33,7 +33,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
message corresponding to the last system error (C errno). message corresponding to the last system error (C errno).
CHARACTER(len=*), INTENT(OUT) :: MESSAGE */ CHARACTER(len=*), INTENT(OUT) :: MESSAGE */
#ifdef HAVE_STRERROR
void PREFIX(gerror) (char *, gfc_charlen_type); void PREFIX(gerror) (char *, gfc_charlen_type);
export_proto_np(PREFIX(gerror)); export_proto_np(PREFIX(gerror));
...@@ -56,4 +55,3 @@ PREFIX(gerror) (char * msg, gfc_charlen_type msg_len) ...@@ -56,4 +55,3 @@ PREFIX(gerror) (char * msg, gfc_charlen_type msg_len)
if (msg_len > p_len) if (msg_len > p_len)
memset (&msg[p_len], ' ', msg_len - p_len); memset (&msg[p_len], ' ', msg_len - p_len);
} }
#endif
/* Implementation of the KILL g77 intrinsic. /* 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> 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 Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public 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 ...@@ -25,10 +25,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h" #include "libgfortran.h"
#include <errno.h> #include <errno.h>
#ifdef HAVE_SIGNAL_H
#include <signal.h> #include <signal.h>
#endif
/* SUBROUTINE KILL(PID, SIGNAL, STATUS) /* SUBROUTINE KILL(PID, SIGNAL, STATUS)
INTEGER, INTENT(IN) :: PID, SIGNAL INTEGER, INTENT(IN) :: PID, SIGNAL
......
/* Implementation of the MALLOC and FREE intrinsics /* 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> 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 Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public 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 ...@@ -24,10 +24,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include "libgfortran.h" #include "libgfortran.h"
#ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif
extern void PREFIX(free) (void **); extern void PREFIX(free) (void **);
export_proto_np(PREFIX(free)); export_proto_np(PREFIX(free));
......
/* Generic implementation of the MOVE_ALLOC intrinsic /* 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 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 Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public 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 ...@@ -24,10 +24,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include "libgfortran.h" #include "libgfortran.h"
#ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif
extern void move_alloc (gfc_array_char *, gfc_array_char *); extern void move_alloc (gfc_array_char *, gfc_array_char *);
export_proto(move_alloc); export_proto(move_alloc);
......
/* Implementation of the PERROR intrinsic. /* 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> 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 Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public 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 ...@@ -31,7 +31,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* SUBROUTINE PERROR(STRING) /* SUBROUTINE PERROR(STRING)
CHARACTER(len=*), INTENT(IN) :: STRING */ CHARACTER(len=*), INTENT(IN) :: STRING */
#ifdef HAVE_PERROR
extern void perror_sub (char *, gfc_charlen_type); extern void perror_sub (char *, gfc_charlen_type);
iexport_proto(perror_sub); iexport_proto(perror_sub);
...@@ -52,4 +51,3 @@ perror_sub (char *string, gfc_charlen_type string_len) ...@@ -52,4 +51,3 @@ perror_sub (char *string, gfc_charlen_type string_len)
perror (str); perror (str);
} }
iexport(perror_sub); iexport(perror_sub);
#endif
/* Implementation of the SIGNAL and ALARM g77 intrinsics /* 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> 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 Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public 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 ...@@ -29,9 +29,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <unistd.h> #include <unistd.h>
#endif #endif
#ifdef HAVE_SIGNAL_H
#include <signal.h> #include <signal.h>
#endif
#ifdef HAVE_INTTYPES_H #ifdef HAVE_INTTYPES_H
#include <inttypes.h> #include <inttypes.h>
...@@ -46,7 +44,6 @@ iexport_proto(signal_sub); ...@@ -46,7 +44,6 @@ iexport_proto(signal_sub);
void void
signal_sub (int *number, void (*handler)(int), int *status) signal_sub (int *number, void (*handler)(int), int *status)
{ {
#ifdef HAVE_SIGNAL
intptr_t ret; intptr_t ret;
if (status != NULL) if (status != NULL)
...@@ -56,11 +53,6 @@ signal_sub (int *number, void (*handler)(int), int *status) ...@@ -56,11 +53,6 @@ signal_sub (int *number, void (*handler)(int), int *status)
} }
else else
signal (*number, handler); signal (*number, handler);
#else
errno = ENOSYS;
if (status != NULL)
*status = -1;
#endif
} }
iexport(signal_sub); iexport(signal_sub);
...@@ -72,7 +64,6 @@ iexport_proto(signal_sub_int); ...@@ -72,7 +64,6 @@ iexport_proto(signal_sub_int);
void void
signal_sub_int (int *number, int *handler, int *status) signal_sub_int (int *number, int *handler, int *status)
{ {
#ifdef HAVE_SIGNAL
intptr_t ptr = *handler, ret; intptr_t ptr = *handler, ret;
if (status != NULL) if (status != NULL)
...@@ -82,11 +73,6 @@ signal_sub_int (int *number, int *handler, int *status) ...@@ -82,11 +73,6 @@ signal_sub_int (int *number, int *handler, int *status)
} }
else else
signal (*number, (void (*)(int)) ptr); signal (*number, (void (*)(int)) ptr);
#else
errno = ENOSYS;
if (status != NULL)
*status = -1;
#endif
} }
iexport(signal_sub_int); iexport(signal_sub_int);
...@@ -129,7 +115,7 @@ alarm_sub_i4 (int * seconds __attribute__ ((unused)), ...@@ -129,7 +115,7 @@ alarm_sub_i4 (int * seconds __attribute__ ((unused)),
void (*handler)(int) __attribute__ ((unused)), void (*handler)(int) __attribute__ ((unused)),
GFC_INTEGER_4 *status) GFC_INTEGER_4 *status)
{ {
#if defined (SIGALRM) && defined (HAVE_ALARM) && defined (HAVE_SIGNAL) #if defined (SIGALRM) && defined (HAVE_ALARM)
if (status != NULL) if (status != NULL)
{ {
if (signal (SIGALRM, handler) == SIG_ERR) if (signal (SIGALRM, handler) == SIG_ERR)
...@@ -159,7 +145,7 @@ alarm_sub_i8 (int *seconds __attribute__ ((unused)), ...@@ -159,7 +145,7 @@ alarm_sub_i8 (int *seconds __attribute__ ((unused)),
void (*handler)(int) __attribute__ ((unused)), void (*handler)(int) __attribute__ ((unused)),
GFC_INTEGER_8 *status) GFC_INTEGER_8 *status)
{ {
#if defined (SIGALRM) && defined (HAVE_ALARM) && defined (HAVE_SIGNAL) #if defined (SIGALRM) && defined (HAVE_ALARM)
if (status != NULL) if (status != NULL)
{ {
if (signal (SIGALRM, handler) == SIG_ERR) if (signal (SIGALRM, handler) == SIG_ERR)
...@@ -190,7 +176,7 @@ alarm_sub_int_i4 (int *seconds __attribute__ ((unused)), ...@@ -190,7 +176,7 @@ alarm_sub_int_i4 (int *seconds __attribute__ ((unused)),
int *handler __attribute__ ((unused)), int *handler __attribute__ ((unused)),
GFC_INTEGER_4 *status) GFC_INTEGER_4 *status)
{ {
#if defined (SIGALRM) && defined (HAVE_ALARM) && defined (HAVE_SIGNAL) #if defined (SIGALRM) && defined (HAVE_ALARM)
if (status != NULL) if (status != NULL)
{ {
if (signal (SIGALRM, (void (*)(int)) (intptr_t) *handler) == SIG_ERR) if (signal (SIGALRM, (void (*)(int)) (intptr_t) *handler) == SIG_ERR)
...@@ -220,7 +206,7 @@ alarm_sub_int_i8 (int *seconds __attribute__ ((unused)), ...@@ -220,7 +206,7 @@ alarm_sub_int_i8 (int *seconds __attribute__ ((unused)),
int *handler __attribute__ ((unused)), int *handler __attribute__ ((unused)),
GFC_INTEGER_8 *status) GFC_INTEGER_8 *status)
{ {
#if defined (SIGALRM) && defined (HAVE_ALARM) && defined (HAVE_SIGNAL) #if defined (SIGALRM) && defined (HAVE_ALARM)
if (status != NULL) if (status != NULL)
{ {
if (signal (SIGALRM, (void (*)(int)) (intptr_t) *handler) == SIG_ERR) if (signal (SIGALRM, (void (*)(int)) (intptr_t) *handler) == SIG_ERR)
......
/* Implementation of the STAT and FSTAT intrinsics. /* 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>. 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 Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public 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 ...@@ -32,9 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <sys/stat.h> #include <sys/stat.h>
#endif #endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif
#ifdef HAVE_STAT #ifdef HAVE_STAT
......
/* Implementation of the SYSTEM intrinsic. /* 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. 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 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 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 ...@@ -25,10 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h" #include "libgfortran.h"
#include <string.h> #include <string.h>
#ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif
extern void system_sub (const char *fcmd, GFC_INTEGER_4 * status, extern void system_sub (const char *fcmd, GFC_INTEGER_4 * status,
gfc_charlen_type cmd_len); gfc_charlen_type cmd_len);
......
/* Implementation of the TIME and TIME8 g77 intrinsics. /* 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> 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 Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public 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 ...@@ -24,24 +24,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include "libgfortran.h" #include "libgfortran.h"
#include <time.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
/* INTEGER(KIND=4) FUNCTION TIME() */ /* INTEGER(KIND=4) FUNCTION TIME() */
#ifdef HAVE_TIME
extern GFC_INTEGER_4 time_func (void); extern GFC_INTEGER_4 time_func (void);
export_proto(time_func); export_proto(time_func);
...@@ -61,4 +48,3 @@ time8_func (void) ...@@ -61,4 +48,3 @@ time8_func (void)
{ {
return (GFC_INTEGER_8) time (NULL); return (GFC_INTEGER_8) time (NULL);
} }
#endif
...@@ -40,19 +40,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -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 As usual with UNIX systems, unfortunately no single way is
available for all systems. */ available for all systems. */
#ifdef TIME_WITH_SYS_TIME #ifdef HAVE_SYS_TIME_H
# include <sys/time.h> #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 #endif
#include <time.h>
#ifdef HAVE_SYS_TYPES_H #ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif #endif
...@@ -174,20 +167,21 @@ gf_cputime (long *user_sec, long *user_usec, long *system_sec, long *system_usec ...@@ -174,20 +167,21 @@ gf_cputime (long *user_sec, long *user_usec, long *system_sec, long *system_usec
clock_t err; clock_t err;
err = times (&buf); err = times (&buf);
*user_sec = buf.tms_utime / HZ; *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_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) if ((err == (clock_t) -1) && errno != 0)
return -1; return -1;
return 0; return 0;
#else #else
clock_t c = clock ();
/* We have nothing to go on. Return -1. */ *user_sec = c / CLOCKS_PER_SEC;
*user_sec = *system_sec = 0; *user_usec = c % CLOCKS_PER_SEC * (1000000. / CLOCKS_PER_SEC);
*user_usec = *system_usec = 0; *system_sec = *system_usec = 0;
errno = ENOSYS; if (c == (clock_t) -1)
return -1; return -1;
return 0;
#endif #endif
} }
...@@ -218,7 +212,7 @@ gf_gettime (time_t * secs, long * usecs) ...@@ -218,7 +212,7 @@ gf_gettime (time_t * secs, long * usecs)
*secs = tv.tv_sec; *secs = tv.tv_sec;
*usecs = tv.tv_usec; *usecs = tv.tv_usec;
return err; return err;
#elif HAVE_TIME #else
time_t t, t2; time_t t, t2;
t = time (&t2); t = time (&t2);
*secs = t2; *secs = t2;
...@@ -226,11 +220,6 @@ gf_gettime (time_t * secs, long * usecs) ...@@ -226,11 +220,6 @@ gf_gettime (time_t * secs, long * usecs)
if (t == ((time_t)-1)) if (t == ((time_t)-1))
return -1; return -1;
return 0; return 0;
#else
*secs = 0;
*usecs = 0;
errno = ENOSYS;
return -1;
#endif #endif
} }
......
/* Implementation of the UMASK intrinsic. /* 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>. 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 Libgfortran is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public 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 ...@@ -25,10 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h" #include "libgfortran.h"
#ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif
#ifdef HAVE_SYS_STAT_H #ifdef HAVE_SYS_STAT_H
#include <sys/stat.h> #include <sys/stat.h>
......
...@@ -27,13 +27,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -27,13 +27,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "io.h" #include "io.h"
#include "fbuf.h" #include "fbuf.h"
#include "unix.h" #include "unix.h"
#ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif
#include <string.h> #include <string.h>
static const int five = 5; static const int five = 5;
static const int six = 6; static const int six = 6;
......
...@@ -25,6 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -25,6 +25,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h" #include "libgfortran.h"
#include <string.h> #include <string.h>
#include <stdlib.h>
#ifdef HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
......
/* Handling of compile-time options that influence the library. /* 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). 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 ...@@ -23,10 +23,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include "libgfortran.h" #include "libgfortran.h"
#ifdef HAVE_SIGNAL_H
#include <signal.h> #include <signal.h>
#endif
/* Useful compile-time options will be stored in here. */ /* Useful compile-time options will be stored in here. */
...@@ -94,32 +91,17 @@ set_options (int num, int options[]) ...@@ -94,32 +91,17 @@ set_options (int num, int options[])
/* If backtrace is required, we set signal handlers on the POSIX /* If backtrace is required, we set signal handlers on the POSIX
2001 signals with core action. */ 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 (compile_options.backtrace)
{ {
#if defined(SIGQUIT) #if defined(SIGQUIT)
signal (SIGQUIT, backtrace_handler); signal (SIGQUIT, backtrace_handler);
#endif #endif
#if defined(SIGILL) /* The following 4 signals are defined by C89. */
signal (SIGILL, backtrace_handler); signal (SIGILL, backtrace_handler);
#endif
#if defined(SIGABRT)
signal (SIGABRT, backtrace_handler); signal (SIGABRT, backtrace_handler);
#endif
#if defined(SIGFPE)
signal (SIGFPE, backtrace_handler); signal (SIGFPE, backtrace_handler);
#endif
#if defined(SIGSEGV)
signal (SIGSEGV, backtrace_handler); signal (SIGSEGV, backtrace_handler);
#endif
#if defined(SIGBUS) #if defined(SIGBUS)
signal (SIGBUS, backtrace_handler); signal (SIGBUS, backtrace_handler);
...@@ -143,8 +125,6 @@ set_options (int num, int options[]) ...@@ -143,8 +125,6 @@ set_options (int num, int options[])
maybe_find_addr2line (); maybe_find_addr2line ();
} }
#endif
} }
......
...@@ -28,18 +28,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -28,18 +28,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include <assert.h> #include <assert.h>
#include <string.h> #include <string.h>
#include <errno.h> #include <errno.h>
#ifdef HAVE_SIGNAL_H
#include <signal.h> #include <signal.h>
#endif
#ifdef HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif
#ifdef HAVE_SYS_TIME_H #ifdef HAVE_SYS_TIME_H
#include <sys/time.h> #include <sys/time.h>
...@@ -172,9 +167,7 @@ sys_abort (void) ...@@ -172,9 +167,7 @@ sys_abort (void)
|| (options.backtrace == -1 && compile_options.backtrace == 1)) || (options.backtrace == -1 && compile_options.backtrace == 1))
{ {
show_backtrace (); show_backtrace ();
#if defined(HAVE_SIGNAL) && defined(SIGABRT)
signal (SIGABRT, SIG_DFL); signal (SIGABRT, SIG_DFL);
#endif
} }
abort(); abort();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment