summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-01-17 21:39:07 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-01-17 21:39:07 +0000
commitfae222fae263242b1b6573a6b27d19ce7921dcf8 (patch)
tree271b20260ce7a77404627a2146109f046d496eae
parent73a76cbeaff26f3dc963b1d5d738d8206a9d1643 (diff)
downloadgcc-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.egcs10
-rw-r--r--gcc/f/runtime/libU77/alarm_.c7
-rw-r--r--gcc/f/runtime/libU77/config.h.in13
-rw-r--r--gcc/f/runtime/libU77/configure.in6
-rw-r--r--gcc/f/runtime/libU77/dtime_.c14
-rw-r--r--gcc/f/runtime/libU77/etime_.c14
-rw-r--r--gcc/f/runtime/libU77/link_.c4
-rw-r--r--gcc/f/runtime/libU77/symlnk_.c4
-rw-r--r--gcc/f/runtime/libU77/sys_clock_.c10
-rw-r--r--gcc/f/runtime/libU77/unlink_.c4
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