diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-01-17 21:39:07 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-01-17 21:39:07 +0000 |
commit | fae222fae263242b1b6573a6b27d19ce7921dcf8 (patch) | |
tree | 271b20260ce7a77404627a2146109f046d496eae | |
parent | 73a76cbeaff26f3dc963b1d5d738d8206a9d1643 (diff) | |
download | gcc-fae222fae263242b1b6573a6b27d19ce7921dcf8.tar.gz |
* libU77/configure.in (sys/param.h,sys/times.h): Check.
(times,alarm): Likewise.
* libU77/config.h.in (HAVE_SYS_PARAM_H, HAVE_SYS_TIMES_H,
HAVE_ALARM, HAVE_TIMES): New defs.
* libU77/alarm_.c: Conditionalize for target platform. Set errno
to ENOSYS if target libc doesn't have the function.
* libU77/dtime_.c: Likewise.
* libU77/etime_.c: Likewise.
* libU77/sys_clock_.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17398 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/f/runtime/ChangeLog.egcs | 10 | ||||
-rw-r--r-- | gcc/f/runtime/libU77/alarm_.c | 7 | ||||
-rw-r--r-- | gcc/f/runtime/libU77/config.h.in | 13 | ||||
-rw-r--r-- | gcc/f/runtime/libU77/configure.in | 6 | ||||
-rw-r--r-- | gcc/f/runtime/libU77/dtime_.c | 14 | ||||
-rw-r--r-- | gcc/f/runtime/libU77/etime_.c | 14 | ||||
-rw-r--r-- | gcc/f/runtime/libU77/link_.c | 4 | ||||
-rw-r--r-- | gcc/f/runtime/libU77/symlnk_.c | 4 | ||||
-rw-r--r-- | gcc/f/runtime/libU77/sys_clock_.c | 10 | ||||
-rw-r--r-- | gcc/f/runtime/libU77/unlink_.c | 4 |
10 files changed, 75 insertions, 11 deletions
diff --git a/gcc/f/runtime/ChangeLog.egcs b/gcc/f/runtime/ChangeLog.egcs index 47e86f466c0..e052c2dfd76 100644 --- a/gcc/f/runtime/ChangeLog.egcs +++ b/gcc/f/runtime/ChangeLog.egcs @@ -1,4 +1,14 @@ Sat Jan 17 22:40:31 1998 Mumit Khan <khan@xraylith.wisc.edu> + + * libU77/configure.in (sys/param.h,sys/times.h): Check. + (times,alarm): Likewise. + * libU77/config.h.in (HAVE_SYS_PARAM_H, HAVE_SYS_TIMES_H, + HAVE_ALARM, HAVE_TIMES): New defs. + * libU77/alarm_.c: Conditionalize for target platform. Set errno + to ENOSYS if target libc doesn't have the function. + * libU77/dtime_.c: Likewise. + * libU77/etime_.c: Likewise. + * libU77/sys_clock_.c: Likewise. * configure.in (NON_UNIX_STDIO): Define if MINGW32. (NON_ANSI_RW_MODE): Do not define for CYGWIN32 or MINGW32. diff --git a/gcc/f/runtime/libU77/alarm_.c b/gcc/f/runtime/libU77/alarm_.c index b1c347d4a68..3e2f293d9b1 100644 --- a/gcc/f/runtime/libU77/alarm_.c +++ b/gcc/f/runtime/libU77/alarm_.c @@ -24,6 +24,7 @@ Boston, MA 02111-1307, USA. */ # include <unistd.h> #endif +#include <errno.h> /* for ENOSYS */ #include "f2c.h" #ifndef RETSIGTYPE @@ -50,10 +51,14 @@ integer G77_alarm_0 (integer *seconds, sig_proc proc) #endif { int status; - +#if defined (HAVE_ALARM) && defined (SIGALRM) if (signal(SIGALRM, (sig_type)proc) == SIG_ERR) status = -1; else status = alarm (*seconds); +#else /* ! HAVE_ALARM || ! SIGALRM */ + errno = ENOSYS; + status = -1; +#endif return status; } diff --git a/gcc/f/runtime/libU77/config.h.in b/gcc/f/runtime/libU77/config.h.in index 45ada20e236..4fcffeb2162 100644 --- a/gcc/f/runtime/libU77/config.h.in +++ b/gcc/f/runtime/libU77/config.h.in @@ -71,3 +71,16 @@ /* Define if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H + +/* Define if you have the <sys/param.h> header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define if you have the <sys/times.h> header file. */ +#undef HAVE_SYS_TIMES_H + +/* Define if you have the alarm function. */ +#undef HAVE_ALARM + +/* Define if you have the times function. */ +#undef HAVE_TIMES + diff --git a/gcc/f/runtime/libU77/configure.in b/gcc/f/runtime/libU77/configure.in index d50fa118e93..3cacc9f04c7 100644 --- a/gcc/f/runtime/libU77/configure.in +++ b/gcc/f/runtime/libU77/configure.in @@ -79,7 +79,8 @@ dnl AC_DEFINE(KR_headers)])]) dnl AC_MSG_RESULT($ac_cv_sys_proto) AC_HEADER_TIME -AC_CHECK_HEADERS(limits.h unistd.h sys/time.h string.h stdlib.h) +AC_CHECK_HEADERS(limits.h unistd.h sys/time.h string.h stdlib.h \ + sys/param.h sys/times.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -96,7 +97,8 @@ AC_STRUCT_TM dnl Checks for library functions. -AC_CHECK_FUNCS(symlink getcwd getwd lstat gethostname strerror clock getrusage) +AC_CHECK_FUNCS(symlink getcwd getwd lstat gethostname strerror clock \ + getrusage times alarm) test $ac_cv_func_symlink = yes && MAYBES="$MAYBES symlnk_.o" test $ac_cv_func_lstat = yes && MAYBES="$MAYBES lstat_.o" test $ac_cv_func_gethostname = yes && MAYBES="$MAYBES hostnm_.o" diff --git a/gcc/f/runtime/libU77/dtime_.c b/gcc/f/runtime/libU77/dtime_.c index dfc3fde34cf..8bcfde8cb39 100644 --- a/gcc/f/runtime/libU77/dtime_.c +++ b/gcc/f/runtime/libU77/dtime_.c @@ -23,12 +23,17 @@ Boston, MA 02111-1307, USA. */ # include <unistd.h> #endif #include <sys/types.h> -#include <sys/times.h> -#include <sys/param.h> +#if HAVE_SYS_TIMES_H +# include <sys/times.h> +#endif +#if HAVE_SYS_PARAM_H +# include <sys/param.h> +#endif #if HAVE_GETRUSAGE # include <sys/time.h> # include <sys/resource.h> #endif +#include <errno.h> /* for ENOSYS */ #include "f2c.h" /* For dtime, etime we store the clock tick parameter (clk_tck) the @@ -45,6 +50,7 @@ double G77_dtime_0 (tarray) double G77_dtime_0 (real tarray[2]) #endif { +#if defined (HAVE_GETRUSAGE) || defined (HAVE_TIMES) /* The getrusage version is only the default for convenience. */ #ifdef HAVE_GETRUSAGE float utime, stime; @@ -85,4 +91,8 @@ double G77_dtime_0 (real tarray[2]) #endif /* HAVE_GETRUSAGE */ old_utime = utime; old_stime = stime; return (tarray[0]+tarray[1]); +#else /* ! HAVE_GETRUSAGE && ! HAVE_TIMES */ + errno = ENOSYS; + return 0.0; +#endif /* ! HAVE_GETRUSAGE && ! HAVE_TIMES */ } diff --git a/gcc/f/runtime/libU77/etime_.c b/gcc/f/runtime/libU77/etime_.c index 625d3d06d2a..269d964c75b 100644 --- a/gcc/f/runtime/libU77/etime_.c +++ b/gcc/f/runtime/libU77/etime_.c @@ -23,12 +23,17 @@ Boston, MA 02111-1307, USA. */ # include <unistd.h> #endif #include <sys/types.h> -#include <sys/times.h> -#include <sys/param.h> +#if HAVE_SYS_TIMES_H +# include <sys/times.h> +#endif +#if HAVE_SYS_PARAM_H +# include <sys/param.h> +#endif #if HAVE_GETRUSAGE # include <sys/time.h> # include <sys/resource.h> #endif +#include <errno.h> /* for ENOSYS */ #include "f2c.h" /* For dtime, etime we store the clock tick parameter (clk_tck) the @@ -45,6 +50,7 @@ double G77_etime_0 (tarray) double G77_etime_0 (real tarray[2]) #endif { +#if defined (HAVE_GETRUSAGE) || defined (HAVE_TIMES) /* The getrusage version is only the default for convenience. */ #ifdef HAVE_GETRUSAGE struct rusage rbuff; @@ -77,4 +83,8 @@ double G77_etime_0 (real tarray[2]) tarray[1] = (float) buffer.tms_stime / (float)clk_tck; #endif /* HAVE_GETRUSAGE */ return (tarray[0]+tarray[1]); +#else /* ! HAVE_GETRUSAGE && ! HAVE_TIMES */ + errno = ENOSYS; + return 0.0; +#endif /* ! HAVE_GETRUSAGE && ! HAVE_TIMES */ } diff --git a/gcc/f/runtime/libU77/link_.c b/gcc/f/runtime/libU77/link_.c index 6892dcb7694..7a0b51b0184 100644 --- a/gcc/f/runtime/libU77/link_.c +++ b/gcc/f/runtime/libU77/link_.c @@ -28,7 +28,9 @@ Boston, MA 02111-1307, USA. */ # include <unistd.h> #endif #include <errno.h> -#include <sys/param.h> +#if HAVE_SYS_PARAM_H +# include <sys/param.h> +#endif #include "f2c.h" #ifdef KR_headers diff --git a/gcc/f/runtime/libU77/symlnk_.c b/gcc/f/runtime/libU77/symlnk_.c index d15e4528758..4b0bf24541d 100644 --- a/gcc/f/runtime/libU77/symlnk_.c +++ b/gcc/f/runtime/libU77/symlnk_.c @@ -28,7 +28,9 @@ Boston, MA 02111-1307, USA. */ # include <unistd.h> #endif #include <errno.h> -#include <sys/param.h> +#if HAVE_SYS_PARAM_H +# include <sys/param.h> +#endif #include "f2c.h" #ifdef KR_headers diff --git a/gcc/f/runtime/libU77/sys_clock_.c b/gcc/f/runtime/libU77/sys_clock_.c index 5644d497906..47436ddd6b5 100644 --- a/gcc/f/runtime/libU77/sys_clock_.c +++ b/gcc/f/runtime/libU77/sys_clock_.c @@ -29,11 +29,14 @@ Boston, MA 02111-1307, USA. */ # include <time.h> # endif #endif -#include <sys/times.h> +#if HAVE_SYS_TIMES_H +# include <sys/times.h> +#endif #include <limits.h> #if HAVE_UNISTD_H # include <unistd.h> #endif +#include <errno.h> /* for ENOSYS */ #include "f2c.h" #ifdef KR_headers @@ -43,6 +46,7 @@ int G77_system_clock_0 (count, count_rate, count_max) int G77_system_clock_0 (integer *count, integer *count_rate, integer *count_max) #endif { +#if defined (HAVE_TIMES) struct tms buffer; unsigned long cnt; #ifdef _SC_CLK_TCK @@ -63,4 +67,8 @@ int G77_system_clock_0 (integer *count, integer *count_rate, integer *count_max) else *count = cnt; return 0; +#else /* ! HAVE_TIMES */ + errno = ENOSYS; + return -1; +#endif /* ! HAVE_TIMES */ } diff --git a/gcc/f/runtime/libU77/unlink_.c b/gcc/f/runtime/libU77/unlink_.c index 5e7edf213bc..cd00559b29a 100644 --- a/gcc/f/runtime/libU77/unlink_.c +++ b/gcc/f/runtime/libU77/unlink_.c @@ -28,7 +28,9 @@ Boston, MA 02111-1307, USA. */ # include <unistd.h> #endif #include <errno.h> -#include <sys/param.h> +#if HAVE_SYS_PARAM_H +# include <sys/param.h> +#endif #include "f2c.h" #ifdef KR_headers |