Include the fortran library sources from GCC 3.4.4.
authorJoerg Sonnenberger <joerg@dragonflybsd.org>
Sun, 19 Jun 2005 16:11:16 +0000 (16:11 +0000)
committerJoerg Sonnenberger <joerg@dragonflybsd.org>
Sun, 19 Jun 2005 16:11:16 +0000 (16:11 +0000)
230 files changed:
contrib/gcc-3.4/README.DELETED
contrib/gcc-3.4/libf2c/ChangeLog [new file with mode: 0644]
contrib/gcc-3.4/libf2c/README [new file with mode: 0644]
contrib/gcc-3.4/libf2c/TODO [new file with mode: 0644]
contrib/gcc-3.4/libf2c/changes.netlib [new file with mode: 0644]
contrib/gcc-3.4/libf2c/disclaimer.netlib [new file with mode: 0644]
contrib/gcc-3.4/libf2c/f2c.h [new file with mode: 0644]
contrib/gcc-3.4/libf2c/f2cext.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/g2c.hin [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/F77_aloc.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/Notice [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/README.netlib [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/Version.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/abort_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/c_abs.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/c_cos.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/c_div.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/c_exp.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/c_log.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/c_sin.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/c_sqrt.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/cabs.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_abs.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_acos.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_asin.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_atan.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_atn2.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_cnjg.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_cos.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_cosh.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_dim.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_exp.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_imag.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_int.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_lg10.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_log.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_mod.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_nint.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_prod.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_sign.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_sin.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_sinh.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_sqrt.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_tan.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/d_tanh.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/derf_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/derfc_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/ef1asc_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/ef1cmc_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/erf_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/erfc_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/exit_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/getarg_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/getenv_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/h_abs.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/h_dim.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/h_dnnt.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/h_indx.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/h_len.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/h_mod.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/h_nint.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/h_sign.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/hl_ge.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/hl_gt.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/hl_le.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/hl_lt.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/i_abs.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/i_dim.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/i_dnnt.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/i_indx.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/i_len.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/i_mod.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/i_nint.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/i_sign.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/iargc_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/l_ge.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/l_gt.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/l_le.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/l_lt.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/lbitbits.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/lbitshft.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/main.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/pow_ci.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/pow_dd.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/pow_di.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/pow_hh.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/pow_ii.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/pow_qq.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/pow_ri.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/pow_zi.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/pow_zz.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/qbitbits.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/qbitshft.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_abs.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_acos.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_asin.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_atan.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_atn2.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_cnjg.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_cos.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_cosh.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_dim.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_exp.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_imag.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_int.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_lg10.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_log.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_mod.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_nint.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_sign.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_sin.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_sinh.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_sqrt.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_tan.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/r_tanh.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/s_cat.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/s_cmp.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/s_copy.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/s_paus.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/s_rnge.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/s_stop.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/setarg.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/setsig.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/sig_die.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/signal1.h [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/signal1.h0 [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/signal_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/system_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/z_abs.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/z_cos.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/z_div.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/z_exp.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/z_log.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/z_sin.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libF77/z_sqrt.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/Notice [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/README.netlib [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/Version.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/backspace.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/close.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/dfe.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/dolio.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/due.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/endfile.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/err.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/fio.h [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/fmt.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/fmt.h [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/fmtlib.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/fp.h [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/ftell_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/iio.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/ilnw.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/inquire.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/lio.h [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/lread.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/lwrite.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/open.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/rdfmt.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/rewind.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/rsfe.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/rsli.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/rsne.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/sfe.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/sue.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/typesize.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/uio.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/util.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/wref.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/wrtfmt.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/wsfe.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/wsle.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/wsne.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libI77/xwsne.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/COPYING.LIB [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/PROJECTS [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/README [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/Version.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/access_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/alarm_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/chdir_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/chmod_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/ctime_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/date_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/datetime_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/dtime_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/etime_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/fdate_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/fgetc_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/flush1_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/fnum_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/fputc_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/fstat_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/gerror_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/getcwd_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/getgid_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/getlog_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/getpid_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/getuid_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/gmtime_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/hostnm_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/idate_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/ierrno_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/irand_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/isatty_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/itime_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/kill_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/link_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/lnblnk_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/lstat_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/ltime_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/mclock_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/perror_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/rand_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/rename_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/secnds_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/second_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/sleep_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/srand_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/stat_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/symlnk_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/sys_clock_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/time_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/ttynam_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/umask_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/unlink_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/vxtidate_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/libU77/vxttime_.c [new file with mode: 0644]
contrib/gcc-3.4/libf2c/permission.netlib [new file with mode: 0644]
contrib/gcc-3.4/libf2c/readme.netlib [new file with mode: 0644]

index 5af4cf2..8574672 100644 (file)
 ./include/xtensa-config.h
 ./install-sh
 ./intl
-./libf2c
+./libf2c/Makefile.in
+./libf2c/aclocal.m4
+./libf2c/configure
+./libf2c/configure.in
+./libf2c/libF77/Makefile.in
+./libf2c/libF77/configure
+./libf2c/libF77/configure.in
+./libf2c/libF77/dtime_.c
+./libf2c/libF77/f2ch.add
+./libf2c/libF77/makefile.netlib
+./libf2c/libI77/Makefile.in
+./libf2c/libI77/config.h.in
+./libf2c/libI77/configure
+./libf2c/libI77/configure.in
+./libf2c/libI77/f2ch.add
+./libf2c/libI77/makefile.netlib
+./libf2c/libI77/stamp-h.in
+./libf2c/libU77/Makefile.in
+./libf2c/libU77/acconfig.h
+./libf2c/libU77/aclocal.m4
+./libf2c/libU77/config.hin
+./libf2c/libU77/configure
+./libf2c/libU77/configure.in
+./libf2c/libU77/stamp-h.in
+./libf2c/libU77/u77-test.f
 ./libiberty/Makefile.in
 ./libiberty/_doprnt.c
 ./libiberty/acconfig.h
diff --git a/contrib/gcc-3.4/libf2c/ChangeLog b/contrib/gcc-3.4/libf2c/ChangeLog
new file mode 100644 (file)
index 0000000..172c426
--- /dev/null
@@ -0,0 +1,2459 @@
+2005-05-19  Release Manager
+
+       * GCC 3.4.4 released.
+
+2005-01-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR libf2c/17636
+       * libI77/err.c (f__nowwriting): Call fseek if end-of-file.
+
+2004-11-04  Release Manager
+
+       * GCC 3.4.3 released.
+
+2004-09-06  Release Manager
+
+       * GCC 3.4.2 released.
+
+2004-07-01  Release Manager
+
+       * GCC 3.4.1 released.
+
+2004-05-06  Bud Davis  <bdavis9659@comcast.net>
+
+       PR libf2c/15151
+       * libI77/wrtfmt.c(wrt_L):  Make sizes and types consistent.
+
+2004-04-18  Release Manager
+
+       * GCC 3.4.0 released.
+
+Thu Feb  5 15:08:08 2004  Geoffrey Keating  <geoffk@apple.com>
+
+       PR 12179
+       * aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Use 'gcc', not 'gcc-lib'.
+       Add comment about poorly-named variables.
+       * Makefile.in (libsubdir): Use 'gcc', not 'gcc-lib'.
+       * configure: Regenerate.
+
+2004-01-31  Bud Davis  <bdavis9659@comcast.net>
+
+       PR fortran/12884
+       * libI77/rsne.c: Enable reading a '/' when reading
+       a '$' delimited namelist.
+
+2004-01-14 Kelley Cook  <kcook@gcc.gnu.org>
+
+       * libF77/configure.in: Update to AC_PREREQ(2.13)
+       * libI77/configure.in: Update to AC_PREREQ(2.13)
+       * libU77/configure.in: Update to AC_PREREQ(2.13)
+       * libU77/configure: Regenerate. 
+
+2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure: Regenerate.
+
+2003-09-21  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       PR libf2c/11918
+       * fstat_.c: Call f_init().
+       * isatty_.c: Ditto.
+       * fnum_.c: Check file descriptor before handing it back.
+
+Tue Sep  9 15:22:57 2003  Alan Modra  <amodra@bigpond.net.au>
+
+       * configure: Regenerate.
+
+2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
+
+       * Makefile.in: Replace PWD with PWD_COMMAND.
+
+2003-06-15  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * libU77/bes.c, libU77/dbes.c: Remove.
+       * libU77/Makefile.in: Remove references to bes.c, dbes.c
+
+2003-04-21  Loren J. Rittle  <ljrittle@acm.org>
+
+       * libI77/configure.in (_XOPEN_SOURCE): Bump to 600.
+       * libI77/configure: Regenerate. 
+       * libU77/configure.in (_XOPEN_SOURCE): Bump to 600.
+       * libU77/configure: Regenerate. 
+
+2003-04-11  Bud Davis <bdavis9659@comcast.net>
+
+       PR Fortran/1832
+       * libf2c/libI77/iio.c (z_putc): Check for overflowing length
+       of output string.
+
+2003-03-24  Bud Davis  <bdavis9659@comcast.net>
+
+       PR fortran/10197
+       * libI77/open.c (f_open): A DIRECT ACCESS file is
+       UNFORMATTED by default.
+
+Wed Mar 12 22:27:14 2003  Andreas Schwab  <schwab@suse.de>
+
+       * aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
+       glibcpp_toolexeclibdir.
+       * configure: Rebuilt.
+
+2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
+
+       * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
+       config.status.
+       * configure: Rebuilt.
+
+2003-02-03  Andreas Jaeger  <aj@suse.de>
+
+       * libU77/configure.in (AC_PROG_CC_WORKS): Define _GNU_SOURCE.
+       * libU77/config.hin: Regenerated.
+       * libU77/configure: Regenerated.
+
+2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
+
+       * Makefile.in ($(LIBG2C)): -rpath is glibcpp_toolexeclibdir.
+       * aclocal.m4 (glibcpp_toolexeclibdir): Instead of
+       $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
+       version_specific_libs is enabled.
+       * configure: Rebuilt.
+
+2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
+
+       * Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
+       (install, uninstall): Prepend $(DESTDIR) to destination
+       paths in all (un)installation commands.
+
+Wed Dec 18 11:33:35 2002  Jason Merrill  <jason@redhat.com>
+
+       * libU77/date_.c (G77_date_y2kbuggy_0): Declare G77_abort_0 noreturn.
+       * libU77/vxtidate_.c (G77_vxtidate_y2kbuggy_0): Likewise.
+
+2002-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Remove skip-this-dir support.
+       * configure: Regenerate.
+
+2002-11-19  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       PR fortran/8587
+       * libF77/pow_zz.c: Handle (0.0, 0.0) ** power.
+
+2002-10-18  Krister Walfridsson  <cato@df.lth.se>
+
+       * libU77/configure.in (_XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED,
+       __EXTENSIONS__, _FILE_OFFSET_BITS): Check that _XOPEN_SOURCE 500L
+       may be defined before defining these.
+       * libU77/configure: Regenerate.
+       * libI77/configure.in (_XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED,
+       __EXTENSIONS__, _FILE_OFFSET_BITS): Check that _XOPEN_SOURCE 500L
+       may be defined before defining these.
+       * libI77/configure: Regenerate.
+
+2002-09-23  Zack Weinberg  <zack@codesourcery.com>
+
+       * libF77/Version.c: Rename junk to __LIBF77_VERSION__.  Add
+       external decls for __LIBI77_VERSION__ and __LIBU77_VERSION__.
+       Delete __G77_LIBF77_VERSION__
+       (g77__fvers__): Print all three __LIB*77_VERSION__ strings,
+       and __VERSION__ if we have it; nothing else.
+
+       * libI77/Version.c: Provide only __LIBI77_VERSION__ (formerly junk).
+       * libU77/Version.c: Provide only __LIBU77_VERSION__ (formerly junk).
+
+Sun Sep 22 23:43:37 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (all): Fix multilib parallel build.
+
+2002-09-14  Tim Prince  <tprince@computer.org>
+
+       PR libf2c/7384
+       * libU77/datetime_.c: Use GetLocalTime on MS-Windows.
+
+2002-08-31  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       PR fortran/6367
+       * libI77/rsne.c (x_rsne): Use local variable no2 to count further
+       list elements to read.
+
+2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * libI77/open.c (f_open): Do not indicate unformatted file
+       if record length is given without a FORMATTED/UNFORMATTED
+       specification.
+
+2002-06-25  DJ Delorie  <dj@redhat.com>
+
+       * aclocal.m4 (GLIBCPP_CONFIGURE): Split out
+       GLIBCPP_TOPREL_CONFIGURE.
+       * configure.in: Call it before AC_CANONICAL_SYSTEM.
+       * configure: Regenerate.
+
+Wed Jun  5 15:05:41 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * f2cext.c (alarm_): Mark parameter(s) with attribute `unused'.
+       * libF77/h_len.c (h_len): Likewise.
+       * libF77/i_len.c (i_len): Likewise.
+       * libI77/rsli.c (i_ungetc): Likewise.
+       * libU77/date_.c (G77_date_y2kbuggy_0): Likewise.
+       * libU77/fputc_.c (G77_fputc_0): Likewise.
+       * libU77/vxtidate_.c (G77_vxtidate_y2kbuggy_0): Likewise.
+       * libU77/vxttime_.c (G77_vxttime_0): Likewise.
+
+Mon Jun  3 22:24:48 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libF77/main.c (f_setarg, f_setsig): Prototype.
+       * libI77/lread.c (quad_read): Delete.
+       * libI77/uio.c: Include config.h.
+       * libI77/wref.c (wrt_E): Cast isdigit arg to unsigned char.
+       * libU77/dtime_.c (clk_tck): Move to the scope where it is used.
+       * libU77/etime_.c (clk_tck): Likewise.
+
+Mon Jun  3 22:23:03 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libF77/lbitbits.c (lbit_cshift): disambiguate expressions
+       with parentheses.
+       * libF77/qbitbits.c (qbit_cshift): Likewise.
+       * libI77/inquire.c (f_inqu): Likewise.
+       * libI77/rdfmt.c (rd_Z): Likewise.
+       * libI77/rsne.c (x_rsne): Likewise.
+
+Mon Jun  3 22:21:23 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (s-libe77): Add WARN_CFLAGS.
+
+Sun Jun  2 10:32:35 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libI77/dfe.c (s_rdfe, s_wdfe): Wrap parentheses around
+       assignment used as truth value.
+       * libI77/due.c (s_rdue, s_wdue): Likewise.
+       * libI77/endfile.c (f_end): Likewise.
+       * libI77/iio.c (s_rsfi, s_wsfi): Likewise.
+       * libI77/lread.c (ERR, l_C, nmL_getc, s_rsle): Likewise.
+       * libI77/lwrite.c (l_g, l_put): Likewise.
+       * libI77/open.c (f_open): Likewise.
+       * libI77/rdfmt.c (rd_Z): Likewise.
+       * libI77/rsfe.c (s_rsfe): Likewise.
+       * libI77/rsne.c (hash, mk_hashtab, nl_init, getname, getdimen,
+       x_rsne, s_rsne): Likewise.
+       * libI77/sue.c (s_rsue, s_wsue): Likewise.
+       * libI77/wref.c (wrt_E, wrt_F): Likewise.
+       * libI77/wsfe.c (s_wsfe): Likewise.
+       * libI77/wsle.c (s_wsle): Likewise.
+       * libI77/wsne.c (s_wsne): Likewise.
+
+Sun Jun  2 08:59:50 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libF77/main.c (main): Avoid implicit int.
+       * libI77/dfe.c (y_rsk, y_getc, c_dfe): Likewise.
+       * libI77/due.c (c_due): Likewise.
+       * libI77/err.c (f__canseek, f__nowreading, f__nowwriting):
+       Likewise.
+       * libI77/fmt.c (op_gen, ne_d, e_d, pars_f, type_f, en_fio):
+       Likewise.
+       * libI77/iio.c (z_getc, z_rnew, c_si, z_wnew): Likewise.
+       * libI77/lread.c (t_getc, c_le, l_read): Likewise.
+       * libI77/lwrite.c (l_write): Likewise.
+       * libI77/open.c (fk_open): Likewise.
+       * libI77/rdfmt.c (rd_ed, rd_ned): Likewise.
+       * libI77/rsfe.c (xrd_SL, x_getc, x_endp, x_rev): Likewise.
+       * libI77/rsne.c (t_getc, x_rsne): Likewise.
+       * libI77/sfe.c (c_sfe): Likewise.
+       * libI77/sue.c (c_sue): Likewise.
+       * libI77/uio.c (do_us): Likewise.
+       * libI77/wref.c (wrt_E, wrt_F): Likewise.
+       * libI77/wrtfmt.c (wrt_L, w_ed, w_ned): Likewise.
+
+Sun Jun  2 08:58:05 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libI77/rdfmt.c (rd_I): Delete unused variable(s).
+       * libU77/access_.c (G77_access_0): Likewise.
+       * libU77/chdir_.c (G77_chdir_0): Likewise.
+       * libU77/chmod_.c (G77_chmod_0): Likewise.
+       * libU77/ctime_.c (G77_ctime_0): Likewise.
+       * libU77/link_.c (G77_link_0): Likewise.
+       * libU77/lstat_.c (G77_lstat_0): Likewise.
+       * libU77/rename_.c (G77_rename_0): Likewise.
+       * libU77/stat_.c (G77_stat_0): Likewise.
+       * libU77/symlnk_.c (G77_symlnk_0): Likewise.
+       * libU77/unlink_.c (G77_unlink_0): Likewise.
+
+Sun Jun  2 08:55:20 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libI77/inquire.c (f_inqu): Avoid ambiguous else clauses.
+       * libI77/lread.c (l_C, l_L): Likewise.
+       * libI77/open.c (f_open): Likewise.
+       * libI77/rsne.c (x_rsne): Likewise.
+       * libI77/wref.c (wrt_F): Likewise.
+
+Sun Jun  2 08:53:15 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libF77/getenv_.c (G77_getenv_0): Avoid signed/unsigned warning.
+       * libF77/system_.c (G77_system_0): Likewise.
+       * libI77/open.c (f_open): Likewise.
+       * libI77/rdfmt.c (rd_Z): Likewise.
+       * libI77/uio.c (do_us, do_ud): Likewise.
+
+Sat Jun  1 08:33:14 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libF77/*: Fix formatting.
+       * libI77/*: Likewise.
+       * libU77/*: Likewise.
+
+Fri May 31 21:56:30 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * g2c.hin, libF77/d_cnjg.c, libF77/main.c, libF77/r_cnjg.c,
+       libF77/s_cat.c, libF77/s_paus.c, libF77/s_rnge.c, libF77/setarg.c,
+       libF77/setsig.c, libF77/signal1.h0, libI77/dfe.c, libI77/due.c,
+       libI77/err.c, libI77/fio.h, libI77/fmt.c, libI77/iio.c,
+       libI77/ilnw.c, libI77/lread.c, libI77/lwrite.c, libI77/rsfe.c,
+       libI77/rsli.c, libI77/rsne.c, libI77/sfe.c, libI77/sue.c,
+       libI77/util.c, libI77/wrtfmt.c, libI77/wsfe.c, libI77/wsle.c,
+       libI77/xwsne.c, libU77/date_.c: Kill VOID, Void and Int.
+
+Fri May 31 21:54:37 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libF77/F77_aloc.c, libF77/exit_.c, libF77/main.c,
+       libF77/s_paus.c, libF77/s_stop.c, libF77/setarg.c,
+       libF77/setsig.c, libF77/sig_die.c, libF77/signal1.h0,
+       libI77/close.c, libI77/dolio.c, libI77/fio.h, libI77/fmt.h,
+       libI77/lio.h: Delete checks on __cplusplus.
+
+Fri May 31 21:50:01 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libF77/*: Delete KR_headers cruft.
+       * libI77/*: Likewise.
+       * libU77/*: Likewise.
+
+Thu May 30 23:04:52 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (WARN_CFLAGS): New.
+       (FLAGS_TO_PASS): Add WARN_CFLAGS.
+       * libF77/Makefile.in (ALL_CFLAGS): Likewise.
+       * libI77/Makefile.in (ALL_CFLAGS): Likewise.
+       * libU77/Makefile.in (ALL_CFLAGS): Likewise.
+
+2002-05-30  H.J. Lu  (hjl@gnu.org)
+
+       * libI77/open.c (_XOPEN_SOURCE): Removed.
+
+Mon May 20 13:03:54 2002  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libF77/Makefile.in (SHELL): Set to @SHELL@.
+       * libI77/Makefile.in (SHELL): Likewise.
+       * libU77/Makefile.in (SHELL): Likewise.
+
+2002-05-20  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * Makefile.in: Use @SHELL@, not /bin/sh for SHELL
+       definition.
+
+2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
+       * aclocal.m4: Likewise.
+       * configure: Regenerate.
+
+2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
+
+       * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
+       script entry, and set LD to it when configuring multilibs.
+       * configure: Rebuilt.
+
+2002-05-02  Alexandre Oliva  <aoliva@redhat.com>
+
+       * Makefile.in: Fix for multilibbed natives.
+
+2002-04-15  Loren J. Rittle  <ljrittle@acm.org>
+
+       * aclocal.m4 (gcc_version_trigger): Use robust path construction.
+       * configure: Rebuilt.
+
+2002-04-11  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * libI77/lio.h: Treat INTEGER*1 as signed char.
+
+2002-03-06  Phil Edwards  <pme@gcc.gnu.org>
+
+       * libF77/Version.c:  Fix misplaced leading blanks on first line.
+       * libI77/Version.c:  Likewise.
+       * libU77/Version.c:  Likewise.
+
+2002-01-28  Geoffrey Keating  <geoffk@redhat.com>
+
+       * aclocal.m4: Replace with version copied from libstdc++-v3.
+       * configure.in: Update for changes to aclocal and Makefile.
+       * configure: Regenerate.
+       * Makefile.in: Correct install and uninstall for cross targets.
+       * libU77/configure: Regenerate.
+
+2002-01-20  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * Makefile.in: $(MULTISUBDIR) has an implied leading `/';
+       remove duplicates.
+       Use libtool for removing libg2c{a|la|so} for the `uninstall' target.
+
+2002-01-18  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * Makefile.in: Add missing `/' separator in last change.
+
+2002-01-18  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * Makefile.in: Install libg2c.{a|la|so} in $(libdir)$(MULTISUBDIR)
+       instead of $(libsubdir)$(MULTISUBDIR).
+
+2002-01-15  Loren J. Rittle  <ljrittle@acm.org>
+
+       * libI77/configure.in: Remove fcntl.h check; never define
+       _POSIX_SOURCE, NO_FCNTL or OPEN_DECL.  Add check for tmpnam().
+       * libI77/configure: Rebuilt.
+       * libI77/config.h.in: Rebuilt.
+       * libI77/Makefile.in: Remove all traces of rawio.h from
+       dependencies lists.
+       * libI77/fio.h (FSEEK): Unroll -j1.7 -j1.6 made 2002-01-04.
+       * libI77/open.c (f_open): Use HAVE_TMPNAM.
+       * libI77/rawio.h: Remove file.
+
+2002-01-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * libI77/configure.in (_LARGEFILE_SOURCE): AC_DEFINE.
+       * libI77/configure: Rebuilt.
+       * libI77/config.h.in: Rebuilt.
+
+2002-01-04  Loren J. Rittle  <ljrittle@acm.org>
+
+       * libI77/fio.h (FSEEK): Enforce type of second parameter to be
+       off_t when prototype is missing from system headers for the
+       non-standard function.
+
+2002-01-03  Loren J. Rittle  <ljrittle@acm.org>
+
+       * Makefile.in ($(LIBG2C):): Let libtool decide when to add -lc.
+
+2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
+
+       * Makefile.in ($(LIBG2C)): Fix -rpath argument to libtool.
+
+       * Makefile.in (AR, RANLIB): Add, for substitutions.
+       (all-unilib, $(LIBG2C)): Depend on object lists, not
+       convenience libraries.
+       (s-libe77): Renamed from libE77.la; build object list.
+       (install): Do not move libraries to libdir.
+       (mostlyclean, clean): Adjust.
+       * libF77/Makefile.in (RANLIB): Add.
+       (LINK): Remove.
+       (../s-libf77): Renamed from ../libF77.la; build object list.
+       (../libfrtbegin.a): Remove target first.  Don't use $<.
+       (all, clean, distclean): Adjust.
+       * libF77/configure.in: Substitute RANLIB.
+       * libF77/configure: Rebuilt.
+       * libI77/Makefile.in (LINK): Delete.
+       (../s-libi77): Renamed from ../libI77.la; build object list.
+       (all, clean, distclean): Adjust.
+       * libU77/Makefile.in: Likewise.
+
+2001-12-02  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       PR fortran/4885
+       * endfile.c (t_runc): After ftruncate, seek to end-of-file.
+
+2001-11-25  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * libF77/Makefile.in: Fix non-portable use of `$<' in z_log.c's rule.
+
+2001-11-23  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       PR libf2c/4930
+       * libF77/Makefile.in: Compile z_log.c with -ffloat-store.
+
+2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * Makefile.in: Add MAKEOVERRIDES= to suppress exporting
+       environment to (sub)shells.
+
+2001-11-13  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * Makefile.in: Change dependencies on stamp files
+       into dependencies on the generated .la files.
+       Get rid of objlist.  Update comment.
+       * libF77/Makefile.in: Ditto.
+       * libI77/Makefile.in: Ditto.
+       * libU77/Makefile.in: Ditto.
+
+2001-10-20  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * configure.in: Fake AC_EXEEXT invocation.
+       * configure: Regenerate.
+
+2001-10-20  David Edelsohn  <dje@watson.ibm.com>
+
+       * Makefile.in: Do not include SUBDIRS in objlist.  Create
+       libg2c.so from F2CEXT and SUBDIRS archives.
+       * libF77/Makefile.in: Create archive.
+       * libI77/Makefile.in: Same.
+       * libU77/Makefile.in: Same.
+
+2001-10-05  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * Makefile.in: Move libg2c.so and libg2c.{l}a to
+       the same directory at install.
+
+2001-10-03  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * Makefile.in: Add "AR" reference, change
+       from frtbegin.o to libfrtbegin.a.
+       * libF77/Makefile.in: Ditto.
+
+2001-10-02  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * libF77/Makefile.in: Make .lo the target of compilation.
+       * libI77/Makefile.in: Ditto.
+       * libU77/Makefile.in: Ditto.
+
+2001-10-01  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * Makefile.in: Set major:minor:sub version number
+       of shared libf2c to 0:0:0.
+
+2001-09-29  Juergen Pfeifer  <juergen.pfeifer@gmx.net>
+           Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       Make libf2c a shared library.
+
+       * aclocal.m4: Get definition of libtool.
+       * Makefile.in: Use libtool.
+       * configure.in: Use libtool.
+       * configure: Regenerated.
+       * libF77/Makefile.in: Use libtool; treat main program contained in
+       libF77/main.c specially.
+       * libF77/configure.in: Use libtool.
+       * libF77/configure: Regenerated.
+       * libI77/Makefile.in: Use libtool.
+       * libI77/configure.in: Use libtool.
+       * libI77/configure: Regenerated.
+       * libU77/Makefile.in: Use libtool.
+       * libU77/configure.in: Use libtool.
+       * libU77/configure: Regenerated.
+       * libU77/date_.c: Adapt for -fPIC compiling.
+       * libU77/vxtidate_.c: Ditto.
+
+2001-09-22  Richard Earnshaw  <rearnsha@arm.com>
+
+       * libI77/configure.in (__EXTENSIONS__): Define.
+       * libI77/config.h.in, libI77/conifgure: regenerate.
+       * libU77/configure.in (__EXTENSIONS__): Likewise.
+
+2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * libI77/configure.in (_XOPEN_SOURCE, _FILE_OFFSET_BITS): Move
+       these defines before tests which might be affected by them.
+       (_XOPEN_SOURCE_EXTENDED): Define.
+       * libI77/configure, libI77/config.h.in: Regenerate.
+
+Wed Jul 18 11:14:33 2001  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * libU77/configure.in (_XOPEN_SOURCE, _FILE_OFFSET_BITS): Move
+       these defines before tests which might be affected by them.
+       (_XOPEN_SOURCE_EXTENDED): Define.
+
+       * libU77/configure, libU77/config.hin: Regenerate.
+
+2001-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * libI77/fio.h: Revert type of url from off_t to int.
+       * libI77/dfe.c (c_dfe): Cast offset expression in FSEEK to off_t.
+       * libI77/due.c (c_due): Ditto.  (e_rdue): Ditto.
+       * libI77/ftell_.c (G77_ftell_0): Cast result of FTELL to integer.
+       (G77_fseek_0): Cast offset argument of FSEEK to off_t.
+
+2001-07-07  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * libI77/Makefile.in: Update config.h dependencies.
+       * libI77/configure.in: Define _XOPEN_SOURCE and
+       _FILE_OFFSET_BITS unconditionally.
+       * libI77/configure: Rebuilt.
+       * libI77/config.h.in: Rebuilt.
+       * libI77/endfile.c (t_runc): Replace rewind by FSEEK.
+       * libI77/err.c (f__nowwriting): The type of `loc' is off_t.
+       * libI77/open.c (f_open): Replace rewind by FSEEK.
+       * libI77/rewind.c: Include config.h.  (f_rew): Replace
+       rewind by FSEEK.
+       * libI77/sfe.c: Include config.h.
+       * libI77/wsfe.c: Ditto.
+       * libU77/configure.in: Define _XOPEN_SOURCE and
+       _FILE_OFFSET_BITS unconditionally.
+       * libU77/configure: Rebuilt.
+       * libU77/config.hin: Rebuilt.
+
+2001-07-07  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * libI77/Makefile.in: Add necessary dependencies on config.h.
+
+2001-07-06  Toon Moene  <toon@moene.indiv.nluug.nl>
+           Pedro Vazquez  <vazquez@penelope.iqm.unicamp.br>
+
+       * libI77/configure.in: Check for fseeko, ftello.
+       * libI77/configure: Rebuilt.
+       * libI77/config.h.in: Rebuilt.
+       * libI77/fio.h: Define FSEEK to be fseek or fseeko, depending
+       on configure's findings.  Ditto for FTELL and ftell / ftello.
+       * libI77/backspace.c (f_back): Use FSEEK for fseek, FTELL for ftell.
+       * libI77/dfe.c (c_dfe): Ditto.
+       * libI77/due.c (c_due, e_rdue): Ditto.
+       * libI77/endfile.c (t_runc): Ditto.
+       * libI77/err.c (f__nowreading, f__nowwriting): Ditto.
+       * libI77/ftell_.c (G77_ftell_0, G77_fseek_0): Ditto.
+       * libI77/inquire.c (f_inqu): Ditto.
+       * libI77/open.c (f_open): Ditto.
+       * libI77/rdfmt.c (rd_ed): Ditto.
+       * libI77/sue.c (s_wsue, e_wsue, e_rsue): Ditto.
+
+2001-07-04  Zack Weinberg  <zackw@stanford.edu>
+
+       * Makefile.in: Take PICFLAG and RUNTESTFLAGS out of FLAGS_TO_PASS.
+
+2001-07-01  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * libI77/fio.h: Include <sys/types.h> for off_t.
+
+2001-07-01  Toon Moene  <toon@moene.indiv.nluug.nl>
+           Pedro Vazquez  <vazquez@penelope.iqm.unicamp.br>
+
+       * libI77/fio.h: Use off_t when appropriate.
+       * libI77/backspace.c (f_back): Ditto.
+       * libI77/endfile.c (t_runc): Ditto.
+       * libI77/err.c (f__nowreading): Ditto.
+       * libI77/ftell_.c (unit_chk): Ditto.
+       * libI77/sue.c (global f__recloc, s_wsue): Ditto.
+
+2001-06-13  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * libI77/inquire.c: Include "config.h".
+
+2001-05-21  Loren J. Rittle  <ljrittle@acm.org>
+
+       * libI77/Makefile.in (stamp-h): Create in $(objdir) instead
+       of $(srcdir).
+
+2001-05-18  Andreas Jaeger  <aj@suse.de>
+
+       * libI77/Makefile.in (stamp-h): Only create config.h, touch stamp-h.
+       (${srcdir}/config.h.in): Add true rule.
+
+       * libI77/stamp-h.in: Added.
+
+2001-05-17  Andreas Jaeger  <aj@suse.de>
+
+       * libI77/Makefile.in: Add rules to rebuild config.h.in when
+       needed.
+
+2001-05-16  Andreas Jaeger  <aj@suse.de>
+
+       * libI77/backspace.c: Include "config.h".
+       * libI77/close.c: Likewise.
+       * libI77/dfe.c: Likewise.
+       * libI77/dolio.c: Likewise.
+       * libI77/due.c: Likewise.
+       * libI77/err.c: Likewise.
+       * libI77/fmt.c: Likewise.
+       * libI77/fmtlib.c: Likewise.
+       * libI77/ftell_.c: Likewise.
+       * libI77/ilnw.c: Likewise.
+       * libI77/lread.c: Likewise.
+       * libI77/open.c: Likewise.
+       * libI77/rdfmt.c: Likewise.
+       * libI77/rsfe.c: Likewise.
+       * libI77/rsne.c: Likewise.
+       * libI77/util.c: Likewise.
+       * libI77/wrtfmt.c: Likewise.
+       * libI77/wsne.c: Likewise.
+       * libI77/xwsne.c: Likewise.
+
+       * libI77/config.h.in: Generate with autoheader.
+
+       * libI77/configure.in: Add comments for all AC_DEFINES so that
+       autoheader can grok it.
+       * libI77/configure: Regenerated.
+
+2001-05-16  Andreas Jaeger  <aj@suse.de>
+
+       * libI77/Makefile.in (endfile.o): Add dependency on config.h.
+
+       * libI77/endfile.c: Include config.h and sys/types for off_t.
+
+       * libI77/config.h.in: New file.
+
+       * libI77/configure.in: Add test for off_t, create config.h file.
+       * libI77/configure: Regenerated.
+
+2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
+
+       * libI77/endfile.c (t_runc): Add cast to help case where
+       ftruncate() prototype is somehow missing even though autoconf
+       test found it properly.
+
+2001-02-26  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * libI77/configure.in: Test for ftruncate.
+       * libI77/configure: Rebuilt.
+       * libI77/endfile.c: Use fflush/ftruncate when available.
+
+2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * libF77/Version.c, libI77/Version.c, libU77/Version.c: Update G77
+       version number to 0.5.27.
+
+2001-02-08  Geoffrey Keating  <geoffk@redhat.com>
+
+       * configure.in: Don't run AC_PROG_CC_WORKS, because
+       we're not interested in the result and it might fail.
+       * libF77/configure.in: Likewise.
+       * libI77/configure.in: Likewise.
+       * libU77/configure.in: Likewise.
+       * configure: Regenerated.
+       * libF77/configure: Likewise.
+       * libI77/configure: Likewise.
+       * libU77/configure: Likewise.
+
+2001-01-29  Phil Edwards  <pme@sources.redhat.com>
+
+       * libU77/COPYING.LIB:  Update to LGPL 2.1 from the FSF.
+
+2001-01-24  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
+
+       * libU77/alarm_.c: Separate the #ifdef KR_headers logic from the
+       G77_alarm_0 function definition.  Check for SIG_ERR and provide our own
+       if missing.
+
+2001-01-24  David Billinghurst <David.Billinghurst@riotinto.com>
+
+       * libU77/Makefile.in:  Explicitly generate a.out for check.
+
+2001-01-23  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
+
+       * libU77/ctime_.c: #include <sys/types.h> for time_t.
+       * libU77/datetime_.c: Likewise.
+       * libU77/fdate_.c: Likewise.
+       * libU77/gmtime_.c: Likewise.
+       * libU77/idate_.c: Likewise.
+       * libU77/itime_.c: Likewise.
+       * libU77/ltime_.c: Likewise.
+       * libU77/sys_clock_.c: Likewise.
+       * libU77/vxtidate_.c: Likewise.
+       * libU77/vxttime_.c: Likewise.
+
+       * libU77/sys_clock_.c: #include <sys/param.h> for the clock tick rate.
+
+2000-12-09  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       Update to Netlib version 20001205.
+       Thanks go to David M. Gay for these updates.
+
+       * libF77/Version.c: Update version information.
+       * libF77/z_log.c: Improve accuracy of real(log(z)) for
+       z near (+-1,eps) with |eps| small.
+       * libF77/s_cat.c: Adjust call when ftnint and ftnlen are
+       of different size.
+       * libF77/dtime_.c, libF77/etime_.c: Use floating point divide.
+
+       * libI77/Version.c: Update version information.
+       * libI77/rsne.c, libI77/xwsne.c: Adjust code for when ftnint
+       and ftnlen differ in size.
+       * libI77/lread.c: Fix reading of namelist logical values followed
+       by <name>= where <name> starts with T or F.
+
+2000-11-26  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * libI77/Version.c, libF77/Version.c, libU77/Version.c:
+       Designate version as (experimental) instead of (prerelease)
+
+2000-11-15  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * libI77/configure.in: See if `mkstemp' is available.
+       * libI77/configure: Regenerate.
+       * libI77/open.c: Use `mkstemp' to create scratch
+       file atomically.
+
+2000-07-03  Donn Terry  (donnte@microsoft.com)
+       * libU77/aclocal.m4: check for 2 argument gettimeofday without
+       struct timezone
+
+2000-07-02  Toon Moene  <toon@moene.indiv.nluug.nl>
+       * libF77/Version.c: Bumped version number to 0.5.26.
+       * libI77/Version.c: Ditto.
+       * libU77/Version.c: Ditto.
+
+2000-06-21  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * libU77/dtime_.c, libU77/etime_.c: Include stdlib.h if
+       HAVE_STDLIB_H is defined.
+
+2000-06-11  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+
+       * rdfmt.c (rd_L): Use if-then-else instead of case statement to
+       solve problems when sizeof(char) == sizeof(short).
+
+2000-05-18  Chris Demetriou  <cgd@sibyte.com>
+
+       * configure.in: Test for __g77_integer, __g77_uinteger,
+       __g77_longint, and __g77_ulongint builtin types, rather
+       than mucking around with compiler headers.
+       * configure: Regenerate.
+       * g2c.hin (integer, logical, flag, ftnlen, ftnint): Use
+       __g77_integer rather than autoconfigured value.
+       (uinteger): Use __g77_uinteger rather than autoconfigured value.
+       (longint): Use __g77_longint rather than autoconfigured value.
+       (ulongint): Use __g77_ulongint rather than autoconfigured value.
+
+Sun Mar 12 20:12;30 2000  Toon Moene  <toon@moene.indiv.nluug.nl>
+       Based on work done by David M. Gay (Bell Labs)
+
+       * libF77/configure.in: Define IEEE_COMPLEX_DIVIDE.
+       * libF77/[cz]_div.c: Arrange for compilation under
+       -DIEEE_COMPLEX_DIVIDE to make these routines
+       avoid calling sig_die when the denominator vanishes.
+       * libF77/s_rnge.c: Add casts for the case of
+       sizeof(ftnint) == sizeof(int) < sizeof(long).
+       * libI77/endfile.c: Set state to writing (b->uwrt = 1) when an
+       endfile statement requires copying the file
+       Also, supply a missing (long) cast in the sprintf call.
+       * libI77/sfe.c: Add #ifdef ALWAYS_FLUSH logic, for formatted I/O.
+
+Wed Feb 16 11:10:05 2000  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * configure.in (gcc_version): When setting, narrow search to
+       lines containing `version_string'.
+
+Tue Nov 16 20:39:42 1999  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * libU77/u77-test.f (wd): Allow for longer working directory
+       pathnames.
+
+1999-10-14 Theo Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
+
+       * libU77/acconfig.h: Define GETTIMEOFDAY_ONE_ARGUMENT and
+       HAVE_TIMEZONE in acconfig.h.
+       * libU77/config.hin: Rebuilt.
+
+1999-10-12  Dave Love  <fx@gnu.org>
+
+       * libU77/aclocal.m4: Re-write, defining LIBU77_GETTIMEOFDAY, not
+       LIBU77_HAVE_STRUCT_TIMEZONE.
+
+       * libU77/configure.in: Use LIBU77_GETTIMEOFDAY, not
+       LIBU77_HAVE_STRUCT_TIMEZONE.  Don't check for gettimeofday
+       separately.
+
+       * libU77/datetime_.c (G77_date_and_time_0): Use
+       GETTIMEOFDAY_ONE_ARGUMENT.
+
+Tue Sep 14 01:44:01 1999  Marc Espie <espie@cvs.openbsd.org>
+
+       * Makefile.in:  Prepend $(SHELL) to move-if-change calls.
+
+Fri Aug  6 23:32:29 1999  Daniel Jacobowitz <drow@drow.them.org>
+
+       * Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix,
+       libdir, libsubdir and tooldir.
+
+Wed Jul  7 15:58:16 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * libU77/date_.c (G77_date_y2kbug_0): G77_time_0 returns
+       longint, not integer, and G77_ctime_0 takes longint, not
+       integer, argument.
+
+       * libU77/Version.c: Bump version.
+
+Mon Jun 28 21:27:08 1999  Craig Burley  <craig@jcb-sc.com>
+
+       Update to Netlib version of 1999-06-28:
+       * changes.netlib, libI77/Version.c, libI77/rsne.c
+       readme.netlib: See changes.netlib for info.
+
+Fri Jun 18 11:38:07 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * libU77/ttynam_.c: if !defined (HAVE_TTYNAM),
+       write all spaces into return value instead of trying
+       to return -1 from a void function.
+
+Fri Jun 18 11:22:21 1999  Craig Burley  <craig@jcb-sc.com>
+
+       Update to Netlib version of 1999-05-10:
+       * changes.netlib, libI77/Version.c, libI77/backspace.c
+       readme.netlib: See changes.netlib for info.
+
+Fri Jun 18 11:15:24 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * libI77/backspace.c: Undo Wednesday's change, in
+       preparation for slightly different Netlib change.
+
+Wed Jun 16 11:38:58 1999  Craig Burley  <craig@jcb-sc.com>
+
+       From Ian Watson <WATSON_IAN_A@Lilly.com> 1999-06-12:
+       * libI77/backspace.c: Reload file descriptor after
+       calling t_runc.
+       * libI77/Version.c: Bump libg2c version.
+
+Wed May 26 14:26:35 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * libF77/Version.c, libI77/Version.c, libU77/Version.c:
+       Use 0.5.24 to designate the version of g77 within GCC 2.95.
+
+Thu May 20 03:20:59 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * configure.in (AC_EXEEXT): Remove call.
+       (compiler_name): Explicitly check with no extension and .exe
+       extension.
+       * configure: Regenerate.
+
+Mon May 10 17:33:45 1999  Craig Burley  <craig@jcb-sc.com>
+
+       Update to Netlib version of 1999-05-10:
+       * changes.netlib, libF77/Version.c, libF77/abort_.c,
+       libF77/c_log.c, libF77/ef1asc_.c, libF77/s_rnge.c,
+       libF77/s_stop.c, libI77/Version.c, libI77/open.c,
+       readme.netlib: See changes.netlib for info.
+
+Fri May 7 9:33:55 1999 Donn Terry (donn@interix.com)
+
+       * libU77/dtime_.c (G77_dtime_0): Standard-conforming error check.
+       * libU77/etime_.c (G77_etime_0): Likewise.
+
+Mon May  3 19:15:07 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * libU77/u77-test.f (main): Declare ABORT as intrinsic.
+
+1999-05-03  Craig Burley  <craig@jcb-sc.com>
+
+       * libU77/u77-test.f: Reverse order of two arguments to
+       CTIME_subr, DTIME_subr, ETIME_subr, and TTYNAM_subr.
+
+Mon May  3 11:21:35 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * libF77/c_log.c: Cope with partial overlap a la z_log.c.
+       (Change likely to be made to netlib version shortly.)
+
+Mon May  3 11:12:38 1999  Craig Burley  <craig@jcb-sc.com>
+
+       Update to Netlib version of 1999-05-03:
+       * changes.netlib, libF77/Version.c, libF77/c_cos.c,
+       libF77/c_exp.c, libF77/c_sin.c, libF77/d_cnjg.c,
+       libF77/dtime_.c, libF77/etime_.c, libF77/getenv_.c,
+       libF77/r_cnjg.c, libF77/z_cos.c, libF77/z_exp.c,
+       libF77/z_log.c, libF77/z_sin.c, libI77/Version.c,
+       libI77/err.c, libI77/open.c, libI77/rdfmt.c, readme.netlib:
+       See changes.netlib for info.
+
+Mon May  3 10:52:53 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * libF77/c_cos.c, libF77/c_div.c, libF77/c_exp.c, libF77/c_log.c,
+       libF77/c_sin.c, libF77/c_sqrt.c, libF77/d_cnjg.c, libF77/pow_zi.c,
+       libF77/r_cnjg.c, libF77/z_cos.c, libF77/z_div.c, libF77/z_exp.c,
+       libF77/z_log.c, libF77/z_sin.c, libF77/z_sqrt.c: Revert back to
+       netlib versions as of f2c-19990501.
+
+Sun May  2 01:38:50 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * libU77/u77-test.f (main): Declare FTELL as intrinsic.
+
+Sun May  2 01:13:37 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * libU77/u77-test.f (main): List libU77 intrinsics
+       not currently tested.
+       Add tests for TIME8, CTIME_subr, IARGC, TTYNAM_subr,
+       GETENV, FDATE_subr, DTIME_subr, ETIME_subr, DATE, ITIME,
+       FTELL_subr, MCLOCK, MCLOCK8, and CPU_TIME.
+       Trim blanks off the ends of some printed strings.
+
+Sun May  2 00:06:45 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * libU77/u77-test.f (main): Just warn about FSTAT gid
+       disagreement, as it's expected on some systems.
+
+Sat May  1 23:57:18 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * libU77/u77-test.f: Generalize sum-checking to
+       use a new function, which allows for some slop.
+       Clean up some commentary.
+       (issum): The new function.
+       (sgladd): Deleted subroutine.
+
+Sat May  1 23:35:18 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * libU77/u77-test.f: Modify to be more like testsuite
+       version, bringing patches to that version here.
+       Add suitable commentary.
+
+Sat Apr 24 11:02:48 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * Makefile.in (s-libi77, s-libf77, s-libu77): Revert
+       the patch from <hjl@gnu.org>, as per the commentary.
+
+Sat Apr 17 17:33:30 1999  Craig Burley  <craig@jcb-sc.com>
+
+       From H.J. Lu <hjl@gnu.org>:
+       * Makefile.in (s-libi77): Depend on i77.
+       (s-libf77): Depend on i77.
+       (s-libu77): Depend on u77.
+
+Mon Apr 12 21:38:14 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * libF77/getenv_.c: Include stdlib.h.
+
+Sun Apr 11 23:30:42 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * libU77/dtime_.c: Handle all variants of WIN32.
+       * libU77/etime_.c: Likewise.
+
+       * libU77/aclocal.m4: New file.
+       * libU77/configure.in (LIBU77_HAVE_STRUCT_TIMEZONE): Add test.
+       * libU77/acconfig.h (HAVE_STRUCT_TIMEZONE): Add macro.
+       * libU77/datetime_c.c (G77_date_and_time_0): Use.
+       * libU77/config.hin: Regenerate.
+       * libU77/configure: Likewise.
+
+Wed Mar 31 13:50:24 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * configure.in (extra_includes): Don't attempt to calculate the
+       location of the gcc src or obj directories.  Instead rely on
+       precomputed variables, $topsrcdir and $r, to obtain these values.
+       Set -I flags appropriately.
+
+1999-03-28  Dave Love  <fx@gnu.org>
+
+       * configure: Rebuilt.
+
+       * configure.in: Fix integer size tests: sanity check first; search
+       toplevel include dir (from Rainer Orth); only mess with ac_cpp
+       once; use -DIN_GCC -DHAVE_CONFIG_H.
+
+       * configure.in: Use `g77_cv_...', not `f77_cv_...'.
+
+Wed Mar 24 22:41:28 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * configure.in (AC_PREREQ): Update to 2.13.
+       (AC_EXEEXT): Call to find possible file extension.
+       (compiler_name): Use.
+       * configure: Regenerate.
+
+1999-03-17  Craig Burley  <craig@jcb-sc.com>
+
+       Update to Netlib version of 1999-03-17:
+       * libF77/F77_aloc.c, libF77/README.netlib, libF77/dtime_.c,
+       libF77/etime_.c, libF77/signal1.h0, libI77/Version.c,
+       libI77/dfe.c, libI77/endfile.c, libI77/lread.c,
+       libI77/sfe.c, readme.netlib, changes.netlib:
+       See changes.netlib for info.
+
+1999-03-06  Craig Burley  <craig@jcb-sc.com>
+
+       Mon Dec 21 23:03:54 1998 Hans-Peter Nilsson <hp@axis.se>:
+       * libI77/Makefile.in (all *.o except VersionI.o): Added dependence
+       on respective .c file.
+       * libF77/Makefile.in (all .o except VersionF.o): Similarly.
+       * libU77/Makefile.in (date_.o): Added dependence on date_.c
+
+1999-03-06  Craig Burley  <craig@jcb-sc.com>
+
+       Rename non-Y2K-compliant intrinsics:
+       * Makefile.in (F2CEXT): Now two versions each of
+       `date' and `vxtidt'.
+       * f2cext.c (date_, vxtidate_): Split into two versions,
+       the existing one calling a new "y2kbuggy" routine that
+       does not exist, and a new one named with "y2kbug" that
+       calls the newly renamed underlying routine.
+       * libU77/date_.c (G77_date_y2kbug_0): Rename from G77_date_0.
+       * libU77/vxtidate_.c (G77_vxtidate_y2kbug_0): Rename from
+       G77_vxtidate_0.
+       * libU77/Version.c: Bump version.
+
+1999-03-03  Craig Burley  <craig@jcb-sc.com>
+
+       * libU77/vxtidate_.c (G77_vxtidate_0): Truncate
+       year to last two digits (i.e. modulo 100), as per
+       documentation and (documented) Y2K non-compliance.
+
+1999-02-20  Craig Burley  <craig@jcb-sc.com>
+
+       From Krister Walfridsson <cato@df.lth.se>:
+       * libU77/lstat_.c (G77_lstat_0): Kill spurious setting
+       of element 6 to zero, as it undid the previous setting.
+
+1999-02-15  Craig Burley  <craig@jcb-sc.com>
+
+       * f2c.h: Delete my (old) email address.
+
+1999-02-14  Craig Burley  <craig@jcb-sc.com>
+
+       * libU77/Version.c: Bump ("update" below) to date of last change.
+       * libI77/Version.c: Bump to date of last change.
+
+Tue Feb  9 18:13:30 GMT 1999  Nathan Sidwell  <nathan@acm.org>
+
+       * Makefile.in (distclean): Move Makefile deletion to end of
+       commands.
+
+1999-01-15  Dave Love  <fx@gnu.org>
+
+       * libU77/datetime_.c (G77_date_and_time_0): Return milliseconds as
+       such, not as microseconds.
+       (s_copy): Declare.
+
+1998-11-26  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * configure.in (compiler_name): Add check to detect if this
+       language's compiler has been built.
+       * configure: Regenerate.
+
+Mon Nov 23 16:52:22 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * configure.in: Use AC_PREREQ(2.12.1).
+       * libF77/configure.in: Likewise.
+       * libI77/configure.in: Likewise.
+       * libU77/configure.in: Likewise.
+
+1998-10-24  Dave Love  <d.love@dl.ac.uk>
+
+       * configure.in: Touch g2c.h in AC_OUTPUT after multilib
+       disturbance.
+
+1998-10-23  Dave Love  <d.love@dl.ac.uk>
+
+       * f2cext.c: Include math.h.
+
+1998-10-19  Dave Love  <d.love@dl.ac.uk>
+
+       * configure: Regenerate.
+
+       * configure.in: Use AC_CONFIG_AUX_DIR.
+
+1998-10-12  Dave Love  <fx@gnu.org>
+
+       * libI77/open.c (_XOPEN_SOURCE): Define.
+
+1998-10-12  Dave Love  <fx@gnu.org>
+
+       * Makefile.in (.SUFFIXES): Don't use any.
+       (all-unilib): New target, like old all.
+       (all): Use it.
+       (.PHONY): Add all-unilib.
+
+1998-10-12  Dave Love  <d.love@dl.ac.uk>
+
+       * configure.in: Reorder Makefile, g2c.h in AC_OUTPUT.
+
+Tue Oct  6 21:16:58 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in: Revert last patch.
+
+Mon Oct  5 01:16:10 1998  H.J. Lu  (hjl@gnu.org)
+
+       * Makefile.in (s-libi77): Depend on i77.
+       (s-libf77): Depend on i77.
+       (s-libu77): Depend on u77.
+
+1998-09-30  Dave Love  <d.love@dl.ac.uk>
+
+       * Makefile.in (f2cext.c): Depend on g2c.h.
+
+1998-09-30  Robert Lipe  <robertl@dgii.com>
+
+       * Makefile.in (all): Correct dependencies so --disable-multilibs
+       works again.
+       (distclean): Correct typo.
+
+1998-09-28  Dave Love  <d.love@dl.ac.uk>
+
+       * libI77/open.c: Back out part of last Netlib update affecting
+       scratch files which clashed with the g77 variations and broke
+       implicit endfile on rewind.
+
+1998-09-21  Dave Love  <d.love@dl.ac.uk>
+
+       * libI77/Version.c: Update.
+
+Mon Sep 21 12:27:27 1998  Robert Lipe  <robertl@dgii.com>
+
+       * Makefile.in (distclean, clean, uninstall, install, all): Add
+       multilib support.
+       * configure.in: Likewise.
+       * configure: Regenerate.
+       * libF77/Makefile.in, libU77/Makefile.in, libI77/Makefile.in (clean):
+       Explictly remove stamp in parent's directory.
+
+1998-09-20  Dave Love  <d.love@dl.ac.uk>
+
+       * libI77/sfe.c (e_wdfe): Set f__init to avoid spurious recursive
+       i/o error from formatted direct i/o.
+
+Thu Sep 10 14:57:25 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
+
+       * Makefile.in (install): Add missing "else true;".
+
+1998-09-09  Craig Burley  <burley@gnu.org>
+
+       * configure.in: Test $srcdir, not $subdir (probable typo).
+       Clarify commentary, fix a bit of spacing.
+
+1998-09-07  Dave Love  <d.love@dl.ac.uk>
+
+       * ChangeLog.egcs: Deleted.  Entries merged here.
+
+1998-09-07  Dave Love  <d.love@dl.ac.uk>
+
+       * libI77/sfe.c, libI77/dfe.c: Revert last change.
+
+1998-09-06  Dave Love  <d.love@dl.ac.uk>
+
+       From Toon to fix spurious recursive i/o errors:
+       * libI77/sfe.c (e_wdfe): Set f__init.
+
+       * libI77/dfe.c (c_dfe): Check and set f__init.
+       (s_rdfe, s_wdfe): Don't check and set f__init.
+
+Fri Sep  4 18:40:32 1998  Craig Burley  <burley@gnu.org>
+
+       * libU77/sys_clock_.c (G77_system_clock_0): Fix indentation.
+
+Tue Sep  1 10:06:06 1998  Craig Burley  <burley@gnu.org>
+
+       * libF77/Version.c: Update.
+       * libU77/Version.c: Update.
+       * libI77/Version.c: Update.
+
+Wed Aug 26 23:19:40 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (FLAGS_TO_PASS): Fix typo.
+
+1998-08-11  Dave Love  <d.love@dl.ac.uk>
+
+       * README: Update from Craig.
+
+1998-07-24  Dave Love  <d.love@dl.ac.uk>
+
+       * Makefile.in (s-libe77, ${srcdir}/configure, g2c.h, Makefile)
+       (config.status, rebuilt): Rely on VPATH, dropping explicit use of
+       $(srcdir) in various places.
+
+1998-07-19  Dave Love  <d.love@dl.ac.uk>
+
+       * Makefile.in (all): Depend on s-libe77, not e77.
+       (.PHONY): Remove e77.
+
+Thu Jul 16 00:58:52 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * libU77/Makefile.in: Missed one config.h.in -> config.hin change.
+
+       * g2c.hin: Renamed from g2c.h.in.
+       * Makefile.in, configure.in: Changed as needed.
+       * configure: Rebuilt.
+
+       * libU77/config.hin: Renamed from libU77/config.h.in.
+       * Makefile.in, configure.in: Changed as needed.
+       * configure: Rebuilt.
+
+Tue Jul 14 21:35:30 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * Makefile.in (all): Invoke $(MAKE) instead of just make.
+
+Tue Jul 14 02:16:34 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in: stamp-lib* -> s-lib*.
+       * libU77/Makefile.in: Likewise.
+       * libF77/Makefile.in: Likewise.
+       * libI77/Makefile.in: Likewise.
+
+       * libU77/Makefile.in (ALL_CFLAGS): Add -I$(F2C_H_DIR).
+
+Mon Jul 13 13:31:03 1998  Craig Burley  <burley@gnu.org>
+
+       * libU77/u77-test.f: Double-check ETIME results, just
+       like 0.5.24 does.
+
+1998-07-10  Dave Love  <d.love@dl.ac.uk>
+
+       * Makefile.in: Re-write build procedure mainly to honour
+       dependencies correctly but also allow making in the build
+       directory by configuring the relevant variables.  The lib[FIU]77
+       subdirs do dependency checking of their objects.  Stamp files
+       dictate when to run (new) archive targets in subdirs.  Some
+       tidying of variables.  Supply full set of standard targets.
+
+       * configure.in: Move much of testing to new configures in
+       subdirs.  Tidy up handling of RANLIB etc.
+
+       * stamp-h.in, libF77/configure.in, libI77/configure.in:
+       * libF77/configure, libI77/configure: New files.
+
+       * libF77/Makefile.in, libI77/Makefile.in, libU77/Makefile.in:
+       Change in step with libf2c/Makefile.in.
+
+1998-07-09  Dave Love  <d.love@dl.ac.uk>
+
+       * libU77/Makefile.in (check): Wrap -lg2c ... -lm around $(LIBS) in
+       case of static link.
+
+       * libU77/Version.c, libI77/Version.c: Update version info.
+
+       * libU77/sys_clock_.c: Replace TIMES conditional stuff removed in
+       error by last change.
+
+1998-07-06  Mike Stump  <mrs@wrs.com>
+
+       * Makefile.in (clean): Don't remove Makefiles, that is done in
+       distclean.
+
+1998-07-06  Dave Love  <d.love@dl.ac.uk>
+
+       * libU77/Makefile.in (lib): Change variable lib to LIBS.
+
+1998-07-06  Robert Lipe <robertl@dgii.com>
+
+       * libU77/configure.in: Look for -lsocket, add to LIBS if found.
+
+       * libU77/Makefile.in (lib):  Use LIBS from above.
+
+1998-07-05  Dave Love  <d.love@dl.ac.uk>
+
+       * f2cext.c (system_clock_): Remove (just f90 intrinsic).
+
+       * Makefile.in (F2CEXT): Remove sclock.
+       (UOBJ): Add libU77/datetime_.o.
+
+       * libU77/config.h.in: Add HAVE_GETTIMEOFDAY.
+
+       * libU77/configure.in: Check for gettimeofday.
+
+       * libU77/datetime_.c: New file.
+
+       * libU77/sys_clock_.c: Allow optional args.
+
+       * libU77/Makefile.in (G77DIR): Fix for current directory
+       structure.
+       (SRCS, OBJS): Add datetime.
+
+       * libU77/u77-test.f: Call date_and_time.  Call system_clock
+       omitting args.
+
+1998-06-29  Dave Love  <d.love@dl.ac.uk>
+
+       * libI77/wsfe.c (s_wsfe): Fix setting of f__curunit lost in
+       previous change.
+       * libI77/rsfe.c (s_rsfe): Likewise.
+
+Sat Jun 27 23:04:49 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (FLAGS_TO_PASS, case G2C_H_DIR): Use $(TARGET_SUBDIR)
+       instead of hardcoding "libraries".
+
+1998-06-26  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * Makefile.in (gcc_version_trigger): Add new macro.
+       (config.status): Add dependency upon $(gcc_version_trigger).
+
+       * configure.in (gcc_version_trigger): New variable; initialize
+       using value from toplevel configure; add AC_SUBST for it.
+       (gcc_version): Change initialization to use this new variable.
+       * configure: Regenerate.
+
+1998-06-24  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * Makefile.in (version): Rename to gcc_version.
+       * configure.in (version): Likewise.
+       (gcc_version): Add code to use an option passed from parent configure.
+       * configure: Regenerate.
+
+1998-06-23  Dave Love  <d.love@dl.ac.uk>
+
+       * libI77/backspace.c, libI77/dfe.c, libI77/due.c, libI77/iio.c:
+       * libI77/lread.c, libI77/sfe.c, libI77/sue.c, libI77/wsfe.c: Update
+       to Netlib version of 1998-06-18.
+
+1998-06-21  Dave Love  <d.love@dl.ac.uk>
+
+       * configure.in (version, target_alias): Define.
+
+       * Makefile.in (version, target_alias, libsubdir): Define.
+       (install): Remove check for libsubdir.
+
+Sat Jun 13 03:46:40 1998  Craig Burley  <burley@gnu.org>
+
+       * Makefile.in (install): Don't install if $(libsubdir)
+       is empty; issue a diagnostic saying top-level Makefile
+       must pass it in instead, and exit.
+
+       * Makefile.in (g2c.h): Rename from f2c.h.
+
+       * Makefile.in, libF77/Makefile.in, libI77/Makefile.in:
+       * libU77/Makefile.in: Rewrite config and var assignment
+       sections to be even more minimal than before, and to
+       more clearly documented what macros are expected to be
+       set and to what sorts of values.  Eliminate CROSS and
+       related stuff, since there's no such things as CROSS
+       in egcs.  Rename GCC_FOR_TARGET to CC throughout.
+       * Makefile.in (stamp-libi77, stamp-libf77, stamp-libu77):
+       Eliminate CROSS.
+       * configure.in: Eliminate CROSS.
+
+       Rename libf2c.a and f2c.h to libg2c.a and g2c.h,
+       normalize and simplify g77/libg2c build process:
+       * Makefile.in: Remove all stuff pertaining to
+       installation, cleaning, and so on.  Parent Makefile
+       does all that now.  Pass F2C_H_DIR,
+       G2C_H_DIR, and GCC_H_DIR, the pathnames for the
+       directories containing f2c.h, g2c.h, and other
+       #include files, to subdirectory Makefiles.
+       (stamp-libf77, stamp-libi77, stamp-libu77):
+       Don't specify `-f Makefile' anymore, it's not needed
+       now that subdirectory makefile's from netlib are
+       renamed to makefile.netlib in g77 source (and to
+       makefile.ori by configuration process, in case they're
+       still around somehow).
+       (stamp-libe77): Don't make libE77 dir unless it doesn't
+       exist, if it does just delete all objects in it.
+       Compile using $(GCC_FOR_TARGET), not $(CC).
+       (rebuilt): Remove this and all subordinate targets,
+       as parent Makefile now handles all that.
+       (*clean): Remove.
+       * configure.in (Pad_UDread, ALWAYS_FLUSH, WANT_LEAD_0):
+       Remove these and commentary to new f2c.h file.
+       AC_OUTPUT g2c.h instead of f2c.h.  Remove old commentary
+       regarding concatenation.
+       * g2c.h.in: Rename from f2c.h.in, add appropriate
+       commentary.
+       * f2c.h: New file, a wrapper for g2c.h that does
+       libg2c-specific stuff.
+       * libF77/Makefile.in, libI77/Makefile.in, libU77/Makefile.in:
+       Change $(ALL_CFLAGS) to use F2C_H_DIR, G2C_H_DIR, and GCC_H_DIR
+       macros.  Remove F2C_H macro, replace use with explicit
+       dependencies on f2c.h and g2c.h.
+       (*clean): Remove.
+
+Mon Apr 27 22:52:31 1998  Richard Henderson  <rth@cygnus.com>
+
+       * libU77/ltime_.c: Bounce the ftnint argument through a local time_t.
+       * libU77/gmtime_.c: Likewise.
+
+Sun Apr 26 18:07:56 1998  Richard Henderson  <rth@cygnus.com>
+
+       * configure.in: Adjust include paths in F2C_INTEGER and F2C_LONGINT
+       tests to work out of the build directory.
+
+1998-05-20  Dave Love  <d.love@dl.ac.uk>
+
+       * Makefile.in ($(lib)): Use shell loop instead of unportable
+       make variable substitution.
+
+Tue May 19 12:50:27 1998  Craig Burley  <burley@gnu.org>
+
+       Break up main() into separate .o's so making and
+       linking against shared libraries with non-Fortran
+       main() routines is easier:
+       * Makefile.in (MISC): Add setarg.o and setsig.o.
+       * libF77/Makefile.in (MISC): Ditto.
+       * libF77/setarg.c: New file, contains f_setarg().
+       * libF77/setsig.c: New file, contains f_setsig().
+       * libF77/getarg_.c: Rename xarg* to f__xarg*.
+       * libF77/iargc_.c: Ditto
+
+Sat May  2 16:44:46 1998  Craig Burley  <burley@gnu.org>
+
+       * libF77/signal_.c, libI77/dfe.c, libI77/due.c,
+       libI77/wsfe.c: Tweaks to eliminate unnecessary
+       differences vs. netlib libf2c.
+
+Fri May  1 11:57:45 1998  Craig Burley  <burley@gnu.org>
+
+       Update to Netlib version of 1998-04-20:
+       * libF77/dtime_.c, libF77/etime_.c, libF77/h_dnnt.c,
+       libF77/h_nint.c, libF77/i_dnnt.c, libF77/i_nint.c,
+       libF77/main.c, libF77/s_paus.c, libF77/signal1.h0,
+       libI77/backspace.c, libI77/close.c, libI77/dfe.c,
+       libI77/endfile.c, libI77/err.c, libI77/fio.h,
+       libI77/iio.c, libI77/ilnw.c, libI77/lread.c,
+       libI77/lwrite.c, libI77/open.c, libI77/rawio.h,
+       libI77/sfe.c, libI77/util.c, libI77/wrtfmt.c,
+       libI77/wsfe.c, libI77/wsle.c, libI77/wsne.c:
+       See changes.netlib for info.
+
+Sun Apr 26 09:13:41 1998  Craig Burley  <burley@gnu.org>
+
+       * libU77/hostnm_.c (G77_hostnm_0): Fix off-by-one error
+       that was trashing the byte just beyond the CHARACTER*(*)
+       argument.
+
+Wed Mar  4 16:32:46 1998  Craig Burley  <burley@gnu.org>
+
+       * libU77/u77-test.f: Don't bother declaring etime.
+       Use `implicit none' and declare mask and lenstr.
+       Do ETIME/DTIME consistency check before loop, then
+       use loop to verify that dtime "ticks" at some point.
+       Check ETIME array-sum using single-precision add, to
+       avoid spurious complaint on systems (like x86) that
+       use more precision for intermediate results.
+       Fix `Results of ETIME and DTIME...' message to print
+       pertinent values (r1 and r2 instead of i and j).
+       Change loop from 10M to 1K repeated up to 1000 times
+       or until dtime "ticks".
+       Print the number of 1K loops needed to see this tick.
+       Answer a commented question.
+       Split up a long line of output and do other prettying.
+       Preset lognam in case GETLOG fails to overwrite it.
+
+Sat Feb 28 15:32:15 1998  Craig Burley  <burley@gnu.org>
+
+       * libI77/open.c (f_open): Use sizeof(buf) instead of
+       256, for the usual reasons.
+
+1998-02-17  Dave Love  <d.love@dl.ac.uk>
+
+       * libU77/u77-test.f: Tweak some o/p.
+
+       * libU77/Makefile.in (check): Use -L for new directory structure.
+
+       * Makefile.in (check): Run the u77 check.
+       (config.status, Makefile): New targets.
+
+Wed Feb 11 01:46:20 1998  Manfred Hollstein <manfred@s-direktnet.de>
+
+       * Makefile.in ($(lib)): Call $(AR) repeatedly to avoid overflowing
+       argument size limit on ancious System V.
+
+Sun Feb  8 00:32:17 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * Makefile.in: Add `info install-info clean-info check dvi' targets.
+
+Mon Feb  2 11:08:49 1998  Richard Henderson  <rth@cygnus.com>
+
+       * configure.in: Update F2C_INTEGER and F2C_LONGINT tests
+       for the new placement in the hierarchy.
+
+Sun Feb  1 02:36:33 1998  Richard Henderson  <rth@cygnus.com>
+
+       * Previous contents of gcc/f/runtime moved into toplevel
+       "libf2c" directory.
+
+Sun Feb  1 01:42:47 1998  Mumit Khan <khan@xraylith.wisc.edu>
+
+       * libU77/configure.in (getlogin,getgid,getuid, kill,link,ttyname):
+       Check.
+       * libU77/config.h.in (HAVE_GETLOGIN, HAVE_GETGID, HAVE_GETUID,
+       HAVE_KILL, HAVE_LINK, HAVE_TTYNAME): New defs.
+       * libU77/getlog_.c: Conditionalize for target platform. Set errno
+       to ENOSYS if target libc doesn't have the function.
+       * libU77/getgid_.c: Likewise.
+       * libU77/getuid_.c: Likewise.
+       * libU77/kill_.c: Likewise.
+       * libU77/link_.c: Likewise.
+       * libU77/ttynam_.c: Likewise.
+
+Sun Jan 18 20:01:37 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * libI77/backspace.c: (f_back): Use type `uiolen' to determine size
+       of record length specifier.
+
+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.
+
+       * libI77/rawio.h: Don't providing conflicting declarations for
+       read() and write(). MINGW32 header files use "const" quals.
+
+       * libF77/s_paus.c: _WIN32 does not have pause().
+
+Mon Apr 27 22:52:31 1998  Richard Henderson  <rth@cygnus.com>
+
+       * libU77/ltime_.c: Bounce the ftnint argument through a local time_t.
+       * libU77/gmtime_.c: Likewise.
+
+Sun Apr 26 18:07:56 1998  Richard Henderson  <rth@cygnus.com>
+
+       * configure.in: Adjust include paths in F2C_INTEGER and F2C_LONGINT
+       tests to work out of the build directory.
+
+Tue Dec 23 22:56:01 1997  Craig Burley  <burley@gnu.org>
+
+       * libF77/signal_.c (G77_signal_0): Return type is
+       now `void *', to cope with returning previous signal
+       handler on 64-bit systems like Alphas.
+       * f2cext.c (signal_): Changed accordingly.
+
+Tue Nov 18 09:49:04 1997  Mumit Khan   (khan@xraylith.wisc.edu)
+
+       * libI77/close.c (f_exit): Reset f__init so that f_clos does not
+       (incorrectly) think there is an I/O recursion when program is
+       interrupted.
+
+Sat Nov  1 18:03:42 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * libF77/signal_.c: Undo last change until we can fix it right.
+
+Wed Oct 29 01:01:04 1997  Mumit Khan  <khan@brahma.xraylith.wisc.edu>
+
+       * configure.in: Set CC to CC_FOR_TARGET when cross-compiling.
+
+Fri Oct 24 11:15:22 1997  Mumit Khan <khan@brahma.xraylith.wisc.edu>
+
+       * libI77/close.c (f_exit): Reset f__init so that f_clos does not
+       (incorrectly) think there is an I/O recursion when program is
+       interrupted.
+
+Wed Oct 15 10:06:29 1997  Richard Henderson  <rth@cygnus.com>
+
+       * libF77/signal_.c (G77_signal_0): Make return type sig_pf as well.
+       * libI77/fio.h: Include <string.h> if STDC_HEADERS.
+       * libU77/chmod_.c: Likewise.
+
+Tue Oct  7 18:22:10 1997  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (CGFLAGS): Don't force -g0.
+       * libF77/Makefile.in, libI77/Makefile.in, libU77/Makefile.in: Likewise.
+
+Mon Oct  6 14:16:46 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (distclean): Do a better job at cleaning up.
+
+1997-10-03  Dave Love  <d.love@dl.ac.uk>
+
+       * configure.in: Check for tempnam (best because it obeys TMPDIR).
+       * libI77/open.c: Use it.
+       * libI77/err.c: New message # 132.
+
+Wed Oct  1 01:46:16 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+       * libU77/sys_clock_.c: File renamed from system_clock_.c.
+       * libU77/Makefile.in, Makefile.in : Reference sys_clock_.*, not
+       system_clock_.*.
+       * libU77/dtime_.c (clk_tck): Try also HZ macro.
+       * libU77/access.c (G77_access_0): Check malloc return value against 0,
+       not NULL.
+       * libU77/getlog_.c, libU77/ttynam_.c, libU77/chdir_.c: Ditto.
+       * libU77/chmod_.c, libU77/rename_.c: Ditto.
+
+Tue Sep 30 00:41:39 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       Do a better job of printing the offending FORMAT string
+       when producing a diagnostic:
+       * libI77/err.c (f__fmtlen): New variable to hold operating
+       length of format string.
+       (f__fatal): Use new variable to limit length of printed string.
+       * libI77/fmt.c (f_s): Don't skip spaces after closing paren,
+       so nicer message results (and nested case already skips them).
+       (pars_f): Record operating length of format string as indicated
+       by a successful call to f_s, or ad-hoc-calculate it if failure,
+       limiting the length to 80 characters (and stopping at NUL).
+       (do_fio): Use new variable to limit length of printed string.
+       * libI77/fmt.h (f__fmtlen): Declare new variable.
+       * libI77/lread.c (c_le): Set new variable to known length.
+
+Mon Sep 29 16:30:31 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       Update to Netlib version of 1997-09-23:
+       * libF77/dtime_.c (dtime_), libF77/etime_.c (dtime_):
+       Return `double' instead of `float' (these are not used
+       in g77's version of libf2c).
+       * libI77/fmt.c, libI77/fmt.h, libI77/rdfmt.c, libI77/wrtfmt.c:
+       Support machines with 64-bit pointers and 32-bit ints (e.g.
+       Linux on DEC Alpha).
+
+1997-09-19  Dave Love  <d.love@dl.ac.uk>
+
+       * libU77/dtime_.c (G77_dtime_0): Fix types in HAVE_GETRUSAGE case
+       so as not to truncate results to integer values.
+       * libU77/Version.c: Bump.
+
+Thu Sep 18 16:58:46 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (stamp-lib): Don't use '$?', explicitly
+       list the variables containing the object files to include
+       in libf2c.a
+
+Tue Sep  9 00:33:24 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * Version 0.5.21 released.
+
+Mon Sep  8 19:39:01 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libI77/close.c (f_exit): Fix thinko, inverted test
+       of whether initialization done, so exiting now closes
+       open units again.
+
+Fri Sep  5 00:18:17 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (clean): Don't remove config.cache.
+       (distclean): Do it here instead.
+
+Tue Aug 26 20:14:08 1997  Robert Lipe  (robertl@dgii.com)
+
+       * hostnm_.c: Include errno.h
+
+Tue Aug 26 01:42:21 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       From Jim Wilson:
+       * configure.in: Make sure RANLIB_TEST is set also.
+
+       From Robert Lipe <robertl@dgii.com>:
+       * libU77/getcwd_.c, libU77/hostnm_.c, libU77/lstat_.c:
+       Also #include <errno.h>, to define ENOSYS.
+
+Tue Aug 26 01:25:58 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * Makefile.in (stamp-lib): Put all f2cext.c objects in
+       a temp directory named libE77, then `ar' them all at
+       once into libf2c.a, to get the job done a bit faster.
+       Still remove the objects (and libE77 directory) afterward.
+
+Mon Aug 25 23:26:05 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+       * Makefile.in (mostlyclean, clean): Check if Makefile exists
+       before using it. Remove stamp-*.
+       (stamp-libi77, stamp-libf77, stamp-libu77): New.
+       (stamp-lib): Only depend on stamp-libi77 stamp-libf77
+       stamp-libu77
+
+Sun Aug 24 05:04:35 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libU77/rand_.c (G77_rand_0), libU77/dtime_.c (G77_dtime_0),
+       libU77/etime_.c (G77_etime_0), libU77/secnds_.c (G77_secnds_0),
+       libU77/second_.c (G77_second_0): Really return `double', not
+       `doublereal', since the result is cast to `float'.
+       * f2cext.c: (rand_, dtime_, etime_, secnds_, second_): Ditto.
+       (erf_, erfc_, besj0_, besj1_, besjn_, besy0_, besy1_,
+       besyn_, dbesj0_, dbesj1_, dbesjn_, dbesy0_, dbesy1_,
+       dbesyn_): All of these return `double', not `doublereal',
+       as they either have `float' or `double' results.
+       * libU77/bes.c (besj0_, besj1_, besjn_, besy0_, besy1_,
+       besyn_): Ditto.
+       * libU77/dbes.c (dbesj0_, dbesj1_, dbesjn_, dbesy0_, dbesy1_,
+       dbesyn_): Ditto.
+
+       Update to Netlib version of 1997-08-16:
+       * libI77/iio.c: Fix bug in internal writes to an array
+       of character strings.
+
+       * Makefile.in (UOBJ): Restore fixes made by Dan Pettet I
+       lost, which included the addition of mclock_.o already noted
+       below, plus adding symlnk_.o.
+
+Thu Aug 21 03:58:34 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * Makefile.in (UOBJ): Add mclock_.o, thanks to Mumit Khan!
+
+1997-08-21  Dave Love  <d.love@dl.ac.uk>
+
+       * libU77/alarm_.c: Fix return type: `integer'.
+
+Mon Aug 11 20:12:42 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * Makefile.in ($(lib), stamp-lib): Ensure that library
+       gets fully updated even if updating was aborted earlier.
+
+       * libU77/hostnm_.c (G77_hostnm_0): Return ENOSYS and stuff
+       in errno if system has no gethostname() function.
+
+       * libU77/lstat_.c (G77_lstat_0): Return ENOSYS and stuff
+       in errno if system has no lstat() function.
+
+       * libU77/getcwd_.c (G77_getcwd_0): Return ENOSYS and stuff
+       in errno if system has no getcwd() or getwd() function.
+       Test HAVE_GETCWD properly.
+
+       * libU77/symlnk_.c (G77_symlink_0): Return ENOSYS and stuff
+       in errno if system has no symlink() function.
+
+       * libU77/mclock_.c (G77_mclock_0): Return -1 if system
+       has no clock() function.
+
+Mon Aug 11 01:55:36 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * Makefile.in (F2CEXT): Add `alarm' to this list.
+
+       * f2cext.c (alarm_): Fix some typos in this function.
+       Delete third `status' argument.
+
+       * libU77/alarm_.c: Delete third `status' argument,
+       as caller gets this from function result; return
+       status value as function result for caller.
+
+       * configure.in: Rename `ac_cv_struct_FILE' to
+       `g77_cv_struct_FILE' according to 1997-06-26 change.
+
+1997-08-06  Dave Love  <d.love@dl.ac.uk>
+
+       * libU77/vxtidate_.c: Correct day/month argument order.
+       * f2cext.c: Likewise.
+
+1997-07-07  Dave Love  <d.love@dl.ac.uk>
+
+       * f2cext.c: Add alarm_.
+
+       * Makefile.in, libU77/Makefile.in: Add alarm_.
+
+       * libU77/alarm_.c: New file.
+
+1997-06-26  Dave Love  <d.love@dl.ac.uk>
+
+       * configure.in: Generally use prefix `g77_' for cached values
+       we've invented, not `ac_'.
+
+Tue Jun 24 18:50:06 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libI77/ilnw.c (s_wsni): Call f_init() here.
+       (s_wsli): Ditto.
+       (e_wsli): Turn off "doing I/O" flag here.
+
+1997-06-20  Dave Love  <d.love@dl.ac.uk>
+
+       * runtime/configure.in: Check for cygwin32 after Mumit Khan (but
+       differently); if cygwin32 define NON_UNIX_STDIO and don't define
+       NON_ANSI_RW_MODES.
+
+Tue Jun 01 06:26:29 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libI77/rsne.c (nl_init): Don't call f_init() here,
+       since s_rsne() already does.
+       (c_lir): Call f_init() here instead.
+       * libI77/rsli.c (e_rsli): Turn off "doing I/O" flag here.
+       * libI77/sue.c (e_rsue): Ditto.
+
+Sun Jun 22 23:27:22 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libI77/fio.h (err): Mark I/O as no longer in progress
+       before returning a non-zero error indicator (since
+       that tells the caller to jump over the remaining I/O
+       calls, including the corresponding `e_whatever' call).
+       * libI77/err.c (endif): Ditto.
+       * libI77/sfe.c (e_wsfe): Ditto.
+       * libI77/lread.c (ERR): Ditto.
+       * libI77/lread.c (l_read): Ditto by having quad case
+       use ERR, not return, to return non-zero error code.
+
+Sat Jun 21 12:31:28 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libI77/open.c (fk_open): Temporarily turn off
+       "doing I/O" flag during f_open() call to avoid recursive
+       I/O error.
+
+Tue Jun 17 22:40:47 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * err.c, close.c, rewind.c, inquire.c, backspace.c, endfile.c,
+       iio.c, open.c, Version.c, sfe.c, wsle.c, rsne.c, sue.c, rsfe.c,
+       lread.c, wsfe.c, fio.h, due.c, dfe.c: Change f__init from
+       `flag' to `int' and to signal not just whether initialization
+       has happened (bit 0), but also whether I/O is in progress
+       already (bit 1).  Consistently produce a clear diagnostic
+       in cases of recursive I/O.  Avoid infinite recursion in
+       f__fatal, in case sig_die triggers another error.  Don't
+       output info on internals if not initialized in f__fatal.  Don't
+       bother closing units in f_exit if initialization hasn't
+       happened.
+
+Tue Jun 10 12:57:44 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       Update to Netlib version of 1997-06-09:
+       * libI77/err.c, libI77/lread.c, libI77/rdfmt.c,
+       libI77/wref.c: Move some #include's around.
+
+Mon Jun  9 18:11:56 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libU77/kill_.c (kill_): KR_headers version needed
+       `*' in front of args in decls.
+
+Sun May 25 03:16:53 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       Update to Netlib version of 1997-05-24:
+       * libF77/README, libF77/Version.c, libF77/main.c,
+       libF77/makefile, libF77/s_paus.c, libF77/signal1.h,
+       libF77/signal_.c, libF77/z_div.c, libI77/Notice,
+       libI77/README, libI77/Version.c, libI77/dfe.c,
+       libI77/err.c, libI77/fmt.c, libI77/makefile,
+       libI77/rawio.h: Apply many, but not all, of the changes
+       made to libf2c since last update.
+       * libF77/Makefile.in (MISC), Makefile.in (MISC): Rename
+       exit.o to exit_.o to go along with Netlib.
+       * libF77/signal.c: Make the prologue much simpler than
+       Netlib has it.
+
+Sun May 18 20:56:02 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libU77/unlink_.c, libU77/stat_.c, libU77/symlnk_.c,
+       libU77/chmod_.c: g_char first arg is const.
+
+       * libU77/chmod_.c: s_cat expects ftnlen[], not int[] or
+       integer[], change types of array and variables
+       accordingly.
+
+May 7 1997  Daniel Pettet  <dan.pettet@bchydro.bc.ca>
+
+       * libU77/dbes_.c: Commented out the code in the
+       same way the bes* routines are commented out.  This
+       was done because corresponding C routines are referenced
+       directly in com-rt.def.
+
+Mon May  5 13:56:02 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libU77/stat_.c: Reverse KR/ANSI decls of g_char().
+
+Apr 18 1997  Daniel Pettet  <dan.pettet@bchydro.bc.ca>
+
+       * libF77/F77_aloc.c, libF77/abort_.c, libF77/derf_.c,
+       libF77/derfc_.c, libF77/ef1asc_.c, libF77/ef1cmc_.c,
+       libF77/erf_.c, libF77/erfc_.c, libF77/exit.c,
+       libF77/getarg_.c, libF77/getenv_.c, libF77/iargc_.c,
+       libF77/s_cat.c, libF77/signal_.c, libF77/system_.c,
+       libI77/close.c, libI77/ftell_.c, libU77/access_.c,
+       libU77/bes.c, libU77/chdir_.c, libU77/chmod_.c, libU77/ctime_.c,
+       libU77/date_.c, libU77/dbes.c, libU77/dtime_.c, libU77/etime_.c,
+       libU77/fdate_.c, libU77/fgetc_.c, libU77/flush1_.c,
+       libU77/fnum_.c, libU77/fputc_.c, libU77/fstat_.c,
+       libU77/gerror_.c, libU77/getcwd_.c, libU77/getgid_.c,
+       libU77/getlog_.c, libU77/getpid_.c, libU77/getuid_.c,
+       libU77/gmtime_.c, libU77/hostnm_.c, libU77/idate_.c,
+       libU77/ierrno_.c, libU77/irand_.c, libU77/isatty_.c,
+       libU77/itime_.c, libU77/kill_.c, libU77/link_.c,
+       libU77/lnblnk_.c, libU77/ltime_.c, libU77/mclock_.c,
+       libU77/perror_.c, libU77/rand_.c, libU77/rename_.c,
+       libU77/secnds_.c, libU77/second_.c, libU77/sleep_.c,
+       libU77/srand_.c, libU77/stat_.c, libU77/symlnk_.c,
+       libU77/system_clock_.c, libU77/time_.c, libU77/ttynam_.c,
+       libU77/umask_.c, libU77/unlink_.c, libU77/vxtidate_.c,
+       libU77/vxttime_.c: Completed renaming routines that are directly
+       callable from g77 to internal names of the form
+       G77_xxxx_0 that are known as intrinsics by g77.
+
+Apr 8 1997  Daniel Pettet  <dan.pettet@bchydro.bc.ca>
+
+       * Makefile.in: Add libU77/mclock_.o and libU77/symlnk_.o to UOBJ.
+       * libU77/Makefile.in: Add mclock_.c to SRCS.
+       Add mclock_.o and symlnk_.o to OBJS.
+       Add mclock_.o dependency.
+
+Apr 8 1997  Daniel Pettet  <dan.pettet@bchydro.bc.ca>
+
+       * libU77/symlnk_.c: Added a couple of (char*) casts to malloc
+       to silence the compiler.
+
+1997-03-17  Dave Love  <d.love@dl.ac.uk>
+
+       * libU77/access_.c, libU77/chdir_.c, libU77/chmod_.c,
+       libU77/link_.c, libU77/lstat_.c, libU77/rename_.c, libU77/stat_.c,
+       libU77/symlnk_.c, libU77/u77-test.f, libU77/unlink_.c: Strip
+       trailing blanks from file names for consistency with other
+       implementations (notably Sun's).
+
+       * libU77/chmod_.c: Quote the file name given to the shell.
+
+Mon Mar 10 00:19:17 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libI77/uio.c (do_ud) [PAD_UDread]: Add semicolon to err()
+       invocation when macro not defined (from Mumit Khan
+       <khan@xraylith.wisc.edu>).
+
+Fri Feb 28 13:16:50 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * Version 0.5.20 released.
+
+Wed Feb 26 20:28:53 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * Makefile.in: $(MAKE) invocations now explicitly
+       specify `-f Makefile', just in case the `makefile's
+       from the netlib distribution would get used instead.
+
+Mon Feb 24 16:43:39 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libU77/Makefile.in (check): Specify driver, and
+       don't bother enabling already-enabled intrinsic groups.
+       Also, get the $(srcdir) version of u77-test.f.
+
+Sat Feb 22 14:08:42 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libU77/u77-test.f: Explicitly declare intrinsics, get
+       rid of useless CHARACTER declarations on intrinsics (maybe
+       someday appropriate to implement meaning of that in g77
+       and restore them?).
+       Add spin loop just to fatten up the timings a bit.
+       Clarify ETIME output as having three fields.
+       Call TIME with CHARACTER*8, not CHARACTER*6, argument.
+       Call new SECOND intrinsic subroutine, after calling
+       new DUMDUM subroutine just to ensure the correct value
+       doesn't get left around in a register or something.
+
+Thu Feb 20 15:22:42 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libU77/bes.c: Comment out all the code, as g77 avoids actually
+       calling it, going directly to the system's library instead.
+
+Mon Feb 17 02:27:41 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libU77/fgetc_.c (fgetc_): Allow return value to be
+       CHARACTER*(*), properly handle CHARACTER*0 and blank-pad
+       CHARACTER*n where n>1.
+
+Tue Feb 11 14:12:19 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * Makefile.in: Clarify role of $(srcdir) here.  Fix
+       various targets accordingly.  Don't rely at all on
+       gcc/f/include/ being a link to gcc/include/ -- just
+       use it directly.
+       (${srcdir}/configure, ${srcdir}/libU77/configure):
+       Remove the config.cache files in build directory before
+       cd'ing to source directory as well.
+
+       * libF77/Makefile.in, libI77/Makefile.in (ALL_CFLAGS):
+       Include `-I.' to pick up build directory.
+       Use gcc/include/ directly.
+       * libU77/Makefile.in (ALL_CFLAGS): Include `-I$(srcdir)'
+       to pick up source directory.
+       (OBJS): Fix typo in `chmod_.o' (was `chmod.o').
+
+Mon Feb 10 12:54:47 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * Makefile.in (UOBJ), libU77/Makefile.in (OBJS): Add
+       libU77/chmod_.o to list of objects.
+       * libU77/chmod_.c: Fix up headers.
+       Fix implementation to not prematurely truncate command
+       string and make room for trailing null.
+
+       * libU77/ctime_.c: Incoming xstime argument is now longint.
+       * libU77/mclock_.c: Now returns longint.
+       * libU77/time_.c: Now returns longint.
+
+1997-02-10  Dave Love  <d.love@dl.ac.uk>
+
+       * etime_.c, dtime_.c: Typo rounded times to seconds.
+
+       * date_.c: Add missing return.
+
+       * hostnm_.c: #include unistd.h.
+
+Sat Feb  8 03:30:19 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       INTEGER*8 support built in to f2c.h and libf2c (since
+       gcc will be used to compile relevant code anyway):
+       * Makefile.in, libF77/Makefile.in: Add pow_qq.o,
+       qbitbits.o, and qbitshft.o to $POW and $F90BIT macros,
+       as appropriate.
+       * f2c.h.in: Define appropriate types and macros.
+       Place #error directive correctly.
+       * configure.in: Determine appropriate types for long
+       integer (F2C_LONGINT).
+       Meanwhile, quote strings in #error, for consistency.
+       Fix restoring of ac_cpp macro.
+       * configure: Regenerated using autoconf-2.12.
+
+       * libF77/Version.c, libI77/Version.c, libU77/Version.c:
+       Update version numbers.
+       Change names and code for g77-specific version-printing
+       routines (shorter names should be safer to link on
+       weird, 8-char systems).
+
+       * libF77/c_cos.c, libF77/c_div.c, libF77/c_exp.c,
+       libF77/c_log.c, libF77/c_sin.c, libF77/c_sqrt.c,
+       libF77/d_cnjg.c, libF77/pow_zi.c, libF77/r_cnjg.c,
+       libF77/z_cos.c, libF77/z_div.c, libF77/z_exp.c,
+       libF77/z_log.c, libF77/z_sin.c, libF77/z_sqrt.c:
+       Changed to work properly even when result is aliased
+       with any inputs.
+
+       * libF77/makefile, libI77/makefile: Leave these in
+       the g77 distribution, so it is easier to track changes
+       to official libf2c.
+
+       * libF77/signal_.c: Eliminate redundant `return 0;'.
+
+       * libI77/fio.h (err, errfl): Fix these so they work
+       (and must be expressed) as statements.
+       Fix up many users of err() to include trailing semicolon.
+
+       * Incorporate changes by Bell Labs to libf2c through 1997-02-07.
+
+1997-02-06  Dave Love  <d.love@dl.ac.uk>
+
+       * libU77/etime_.c, libU77/dtime_.c: Fix getrusage stuff.
+
+       * libU77/config.h.in: Regenerate for HAVE_GETRUSAGE.
+
+       * libU77/Makefile.in, libI77/Makefile.in, libF77/Makefile.in:
+       Redo *clean targets; distclean and maintainer-clean remove the stage?
+       and include links.  This probably want looking at further.
+
+Wed Feb  5 00:21:23 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       Add libU77 library from Dave Love <d.love@dl.ac.uk>:
+       * Makefile.in: Add libU77 directory, rules, etc.
+       * configure.in: New libU77 directory, Makefile, etc.
+
+       * Makefile.in, libF77/Makefile.in, libI77/Makefile.in,
+       libU77/Makefile.in: Reorganize these so $(AR) commands
+       handled by the top-level Makefile instead of the
+       subordinates.  This permits it to do $(AR) only when
+       one or more object files actually change, instead of
+       having to force-update it as was necessary before.
+       And that had the disadvantage of requiring, e.g., user
+       root to have access to $(AR) to the library simply to
+       install g77, which might be problematic on an NFS setup.
+       (mostlyclean, clean, distclean, maintainer-clean):
+       Properly handle these rules.
+
+       * Makefile.in: Don't invoke config.status here -- let
+       compiler-level stuff handle all that.
+
+       * libI77/err.c [MISSING_FILE_ELEMS]: Declare malloc in this case
+       too, so it doesn't end up as an integer.
+
+Sat Feb  1 02:43:48 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libF77/Makefile.in: More fixup for $(F90BIT) -- wasn't
+       in list for ar command, and it wasn't correctly listed
+       in the list of things depending on f2c.h.
+
+       * f2c.h.in: Fix up #error directive.
+
+1997-01-31  Dave Love  <d.love@dl.ac.uk>
+
+       * libF77/Makefile.in ($(lib)): Add $(F90BIT); shouldn't exclude
+       stuff f2c needs so we can share the library.
+
+Sat Jan 18 19:39:03 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * configure.in: No longer define ALWAYS_FLUSH, the
+       resulting performance is too low.
+
+Wed Dec 18 12:06:02 1996  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       Patch from Mumit Khan <khan@xraylith.wisc.edu>:
+       * libF77/s_paus.c: Add __CYGWIN32__ to list of macros
+       controlling how to pause.
+
+Sun Dec  1 21:25:27 1996  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * configure: Regenerated using autoconf-2.12.
+
+Mon Nov 25 21:16:15 1996  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * configure: Regenerated using autoconf-2.11.
+
+1996-11-19  Dave Love  <d.love@dl.ac.uk>
+
+       * libI77/backspace.c: Include sys/types.h for size_t.
+
+Wed Nov  6 14:17:27 1996  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * f2c.h.in: Properly comment out the unsupported stuff so
+       we don't get build-time errors.
+
+       * libF77/Version.c, libI77/Version.c: Restore macro definition
+       of version information.
+
+       * libI77/Makefile.in (OBJ) [foo]: Add ftell_.o to list of objects.
+
+       * libI77/uio.c (do_ud): Fix up casts in PAD_UDread case just
+       like they were fixed in the other case.
+
+Thu Oct 31 22:27:45 1996  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libI77/ftell_.c (fseek_): Map incoming whence argument to
+       system's actual SEEK_CUR, SEEK_SET, or SEEK_END macro for
+       fseek(), and crash (gracefully) if the argument is invalid.
+
+1996-10-19  Dave Love  <d.love@dl.ac.uk>
+
+       * configure.in: Add check that we have the tools to cross-compile
+       if appropriate.
+       (NO_EOF_CHAR_CHECK,Skip_f2c_Undefs): Define.
+
+       * libF77/Makefile.in (F90BIT): New routines from Netlib.
+
+       * f2c.h.in:
+       Use more sanitary #error (indented for K&R compliance if necessary) if
+       f2c_i2 defined.
+       Sync with Netlib: Add `uninteger'.  (Commented out) integer*8 stuff.
+       bit_{test,clear,set} macros.
+
+1996-10-19  Dave Love  <d.love@dl.ac.uk>
+
+       Update to Netlib version of 1996-09-26.
+
+       * libI77/Version.c: Use <stdio.h>, not "stdio.h".
+       * libF77/Version.c: Likewise.
+
+Wed Aug 28 13:25:29 1996  Dave Love  <d.love@dl.ac.uk>
+
+       * libI77/rsne.c (x_rsne): Use size_t instead of int.
+
+       * libI77/endfile.c (copy): Use size_t in place of int.
+
+Wed Aug 28 13:22:20 1996  Dave Love  <d.love@dl.ac.uk>
+
+       * libI77/backspace.c (f_back): Cast fread arg to size_t.
+
+Tue Aug 27 19:11:30 1996  Dave Love  <d.love@dl.ac.uk>
+
+       * libI77/Version.c: Supply */ to avoid apparent nested comment.
+
+Tue Aug 20 09:21:43 1996  Dave Love  <d.love@dl.ac.uk>
+
+       * libF77/Makefile.in (ALL_CFLAGS): Fix missing ../ for include.
+       * libI77/Makefile.in (ALL_CFLAGS): Likewise.
+
+Sat Aug 17 13:00:47 1996  Dave Love  <d.love@dl.ac.uk>
+
+       * libF77/qbitshft.c, libF77/qbitbits.c, libF77/lbitshft.c,
+       libF77/lbitbits.c: New file from Netlib.  qbit... not currently
+       compiled.
+
+Sun Jul  7 18:06:33 1996  Dave Love  <d.love@dl.ac.uk>
+
+       * libF77/z_sqrt.c, libF77/z_sin.c, libF77/z_exp.c, libF77/z_log.c,
+       libF77/system_.c, libF77/z_cos.c, libF77/signal_.c,
+       libF77/s_stop.c, libF77/sig_die.c, libF77/s_paus.c,
+       libF77/s_rnge.c, libF77/s_cat.c, libF77/r_tan.c, libF77/r_tanh.c,
+       libF77/r_sinh.c, libF77/r_sqrt.c, libF77/r_sin.c, libF77/r_mod.c,
+       libF77/r_nint.c, libF77/r_lg10.c, libF77/r_log.c, libF77/r_exp.c,
+       libF77/r_int.c, libF77/r_cosh.c, libF77/r_atn2.c, libF77/r_cos.c,
+       libF77/r_asin.c, libF77/r_atan.c, libF77/r_acos.c,
+       libF77/pow_dd.c, libF77/pow_zz.c, libF77/main.c, libF77/i_dnnt.c,
+       libF77/i_nint.c, libF77/h_dnnt.c, libF77/h_nint.c, libF77/exit.c,
+       libF77/d_tan.c, libF77/d_tanh.c, libF77/d_sqrt.c, libF77/d_sin.c,
+       libF77/d_sinh.c, libF77/d_mod.c, libF77/d_nint.c, libF77/d_log.c,
+       libF77/d_int.c, libF77/d_lg10.c, libF77/d_cosh.c, libF77/d_exp.c,
+       libF77/d_atn2.c, libF77/d_cos.c, libF77/d_atan.c, libF77/d_acos.c,
+       libF77/d_asin.c, libF77/c_sqrt.c, libF77/cabs.c, libF77/c_sin.c,
+       libF77/c_exp.c, libF77/c_log.c, libF77/c_cos.c, libF77/F77_aloc.c,
+       libF77/abort_.c, libI77/xwsne.c, libI77/wref.c, libI77/util.c,
+       libI77/uio.c, libI77/rsne.c, libI77/rdfmt.c, libI77/rawio.h,
+       libI77/open.c, libI77/lread.c, libI77/inquire.c, libI77/fio.h,
+       libI77/err.c, libI77/endfile.c, libI77/close.c:
+       Use #include <...>, not #include "..." for mkdeps
+
+Sat Jul  6 21:39:21 1996  Dave Love  <d.love@dl.ac.uk>
+
+       * libI77/ftell_.c: Added from Netlib distribution.
+
+Sat Mar 30 20:57:24 1996  Dave Love  <d.love@dl.ac.uk>
+
+       * configure.in: Eliminate explicit use of
+       {RANLIB,AR}_FOR_TARGET.
+       * Makefile.in: Likewise.
+       * libF77/Makefile.in: Likewise.
+       * libI77/Makefile.in: Likewise.
+       * configure: Regenerated.
+
+Sat Mar 30 21:02:03 1996  Dave Love  <d.love@dl.ac.uk>
+
+       * Makefile.in: Eliminate explicit use of
+       {RANLIB,AR}_FOR_TARGET.
+
+Tue Mar 26 23:39:59 1996  Dave Love  <d.love@dl.ac.uk>
+
+       * Makefile.in: Remove hardwired RANLIB and RANLIB_TEST (unnoted
+       change).
+
+Mon Mar 25 21:04:56 1996  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * Incorporate changes by Bell Labs to libf2c through 1996-03-23,
+       including changes to dmg and netlib email addresses.
+
+Tue Mar 19 13:10:02 1996  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * Incorporate changes by AT&T/Bellcore to libf2c through 1996-03-19.
+
+       * Makefile.in (rebuilt): New target.
+
+       * libF77/Makefile.in, libI77/Makefile.in: Use $AR_FOR_TARGET, not
+       $AR.
+
+Tue Mar 19 12:53:19 1996  Dave Love  <d.love@dl.ac.uk>
+
+       * configure.in (ac_cpp): #include <stdio.h> instead
+       of <features.h>.
+
+Tue Mar 19 12:52:09 1996  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * configure.in (ac_cpp): For f2c integer type,
+       add -I$srcdir/../.. to make it work on mips-ultrix4.2.
+
+Sat Mar  9 17:37:15 1996  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * libI77/Makefile.in (.c.o): Add -DAllow_TYQUAD, to enable
+       I/O support for INTEGER*8.
+       * f2c.h.in: Turn on longint type.
+
+Fri Dec 29 18:22:01 1995  Craig Burley  <burley@gnu.ai.mit.edu>
+
+       * Makefile.in: Reorganize the *clean rules to more closely
+       parallel gcc's.
+
+       * libF77/Makefile.in, libI77/Makefile.in: Ignore error from $(AR)
+       command, in case just doing an install and installer has no write
+       access to library (this is a kludge fix -- perhaps install targets
+       should never try updating anything?).
+
+Sat Nov 18 19:37:22 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * Version 0.5.17 released.
+
+Thu Nov 16 07:20:35 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * Incorporate changes by AT&T/Bellcore to libf2c through 1995-11-15.
+
+Fri Sep 22 02:19:59 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * libI77/backspace.c, libI77/close.c, libI77/endfile.c,
+       libI77/fio.h, libI77/inquire.c, libI77/rawio.h,
+       libF77/s_paus.c: Not an MSDOS system if GO32
+       is defined, in the sense that the run-time environment
+       is thus more UNIX-like.
+
+Wed Sep 20 02:24:51 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * libF77/Makefile.in, libI77/Makefile.in: Comment out `ld -r -x'
+       and `mv' line pairs, since `-x' isn't supported on systems
+       such as Solaris, and these lines don't seem to do anything
+       useful after all.
+
+Wed Aug 30 15:58:35 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * Version 0.5.16 released.
+
+       * Incorporate changes by AT&T/Bellcore to libf2c through 950829.
+
+Mon Aug 28 12:50:34 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * libF77/Makefile.in, libI77/Makefile.in ($(lib)): Force ar'ing
+       and ranlib'ing of libf2c.a, else after rm'ing libf2c.a and
+       doing a make, only libI77 or libF77 would be added to
+       the newly created archive.
+       Also, instead of `$?' list all targets explicitly so all
+       objects are updated in libf2c.a even if only one actually
+       needs recompiling, for similar reason -- we can't easily tell
+       if a given object is really up-to-date in libf2c.a, or even
+       present there.
+
+Sun Aug 27 14:54:24 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * libF77/Makefile.in, libI77/Makefile.in: Fix spacing so
+       initial tabs are present in all appropriate places.
+       Move identical $(AR) commands in if then/else clauses
+       to single command preceding if.
+       (.c.o, Version[FI].o): Use $@ instead of $* because AIX (RS/6000)
+       says $@ means source, not object, basename, and $@ seems to work
+       everywhere.
+
+Wed Aug 23 15:44:25 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * libF77/system_.c (system_): Declare as returning `ftnint',
+       consistent with signal_, instead of defaulting to `int'.
+       Hope dmg@research.att.com agrees, else probably will
+       change to whatever he determines is correct (and change
+       g77 accordingly).
+
+Thu Aug 17 08:46:17 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * libI77/rsne.c (s_rsne): Call f_init if not already done.
+
+Thu Aug 17 04:35:28 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * Incorporate changes by Bellcore to libf2c through 950817.
+       And this text is for EMACS: (foo at bar).
+
+Wed Aug 16 17:33:06 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * libF77/Makefile.in, libI77/Makefile.in (CFLAGS): Put -g1
+       after configured CFLAGS but before GCC_CFLAGS, so by default
+       the libraries are built with minimal debugging information.
+
+Fri Jul 28 10:30:15 1995  Dave Love  <d.love@dl.ac.uk>
+
+       * libI77/open.c (f_open): Call f_init if not already done.
+
+Sat Jul  1 19:31:56 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * libF77/system_.c (system_): Make buff one byte bigger so
+       following byte doesn't get overwritten by call with large
+       string.
+
+Tue Jun 27 23:28:16 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * Incorporate changes by Bellcore to libf2c through 950613.
+
+       * libF77/Version.c (__G77_LIBF77_VERSION__): Add this string
+       to track g77 mods to libf2c.
+
+       * libI77/Version.c (__G77_LIBI77_VERSION__): Add this string
+       to track g77 mods to libf2c.
+
+       * libI77/rawio.h: #include <rawio.h> only conditionally,
+       using macro intended for that purpose.
+
+Fri May 19 11:20:00 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * configure.in: Incorporate change made by d.love,
+
+       * configure: Regenerated.
+
+Wed Apr 26 21:08:57 BST 1995  Dave Love  <d.love@dl.ac.uk>
+
+       * configure.in: Fix quoting problem in atexit check.
+
+       * configure: Regenerated (with current autoconf).
+
+Wed Mar 15 12:49:58 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * Incorporate changes by Bellcore to libf2c through 950315.
+
+Sun Mar  5 18:54:29 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * README: Tell people not to read lib[fi]77/README.
+
+Wed Feb 15 14:30:58 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * configure.in: Update copyright notice at top of file.
+
+       * f2c.h.in (f2c_i2): Make sure defining this crashes compilations.
+
+       * libI77/Makefile.in (F2C_H): Fix typo in definition of this
+       symbol (was FF2C_H=...).
+
+Sun Feb 12 13:39:36 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * README: Remove some obsolete items.
+       Add date.
+
+       * TODO: Add date.
+
+Sat Feb 11 22:07:54 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * Makefile.in (libf77, libi77): Add rules to .PHONY list.
+
+       * f2c.h.in (flag): Make same type as friends.
+
+       * libF77/Makefile.in (libf77): Rename to $(lib), remove from
+       .PHONY list.  Fix some typos.
+
+       * libI77/Makefile.in (libi77): Rename to $(lib), remove from
+       .PHONY list.  Fix some typos.
+
+Thu Feb  2 12:22:41 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+       * Makefile.in (libF77/Makefile): Fix typos in this rule's name
+       and dependencies.
+
+       * libF77/Makefile.in (libf77): Add rule to .PHONY list.
+
+       * libI77/Makefile.in (libi77): Add rule to .PHONY list.
+
+Local Variables:
+add-log-time-format: current-time-string
+End:
diff --git a/contrib/gcc-3.4/libf2c/README b/contrib/gcc-3.4/libf2c/README
new file mode 100644 (file)
index 0000000..008654b
--- /dev/null
@@ -0,0 +1,109 @@
+1998-08-11
+
+This directory contains the libf2c library packaged for use with g77
+to configure and build automatically (in principle!) as part of the
+top-level configure and make steps.  g77 names this library `libg2c'
+to avoid conflicts with existing copies of `libf2c' on a system.
+
+Some small changes have been made vis-a-vis the netlib distribution of
+libf2c, which comes from <ftp:bell-labs.com/netlib/f2c/> and is maintained
+(excellently) by David M. Gay <dmg@bell-labs.com>.  See the Notice files
+for copyright information.  We usually try to get g77-specific changes
+rolled back into the libf2c distribution.
+
+Files that come directly from netlib are either maintained in the
+libf2c directory under their original names or, if they are not pertinent
+for g77's version of libf2c, under their original names with `.netlib'
+appended.  For example, permissions.netlib is a copy of f2c's top-level
+`permissions' file in the netlib distribution.  In this case, it applies
+only to the relevant portions of the libF77/ and libI77/ directories; it
+does not apply to the libU77/ directory, which is distributed under
+different licensing arrangements.  Similarly, the `makefile.netlib' files
+in the libF77/ and libI77/ subdirectories are copies of the respective
+`makefile' files in the netlib distribution, but are not used when
+building g77's version of libf2c.
+
+The README.netlib files in libF77/ and libI77/ thus might be
+interesting, but should not be taken as guidelines for how to
+configure and build libf2c in g77's distribution.
+
+* Read permissions.netlib for licensing conditions that apply to
+  distributing programs containing portions of code in the libF77/ and
+  libI77/ subdirectories.  Also read disclaimer.netlib.
+
+* Read libU77/COPYING.LIB for licensing conditions that apply to
+  distributing programs containing portions of code in the libU77/
+  subdirectory.
+
+Among the user-visible changes (choices) g77 makes in its version of libf2c:
+
+-  f2c.h configured to default to padding unformatted direct reads
+   (#define Pad_UDread), because that's the behavior most users
+   expect.
+
+-  f2c.h configured to default to outputting leading zeros before
+   decimal points in formatted and list-directed output, to be compatible
+   with many other compilers (#define WANT_LEAD_0).  Either way is
+   standard-conforming, however, and you should try to avoid writing
+   code that assumes one format or another.
+
+-  dtime_() and etime_() are from Dave Love's libU77, not from
+   netlib's libF77.
+
+-  Routines that are intended to be called directly via user code
+   (as in `CALL EXIT', but not the support routines for `OPEN')
+   have been renamed from `<name>' to `G77_<name>_0'.  This, in
+   combination with g77 recognizing these names as intrinsics and
+   calling them directly by those names, reduces the likelihood of
+   interface mismatches occurring due to use of compiler options
+   that change code generation, and permits use of these names as
+   both intrinsics and user-supplied routines in applications (as
+   required by the Fortran standards).  f2cext.c contains "jacket"
+   routines named `<name>' that call `G77_<name>_0', to support
+   code that relies on calling the relevant routines as `EXTERNAL'
+   routines.
+
+   Note that the `_0' in the name denotes version 0 of the *interface*,
+   not the *implementation*, of a routine.  The interface of a
+   given routine *must not change* -- instead, introduce a new copy
+   of the code, with an increment (e.g. `_1') suffix, having the
+   new interface.  Whether the previous interface is maintained is
+   not as important as ensuring the routine implementing the new
+   interface is never successfully linked to a call in existing,
+   e.g. previously compiled, code that expects the old interface.
+
+-  Version.c in the subdirectories contains g77-specific version
+   information and a routine (per subdirectory) to print both the
+   netlib and g77 version information when called.  The `g77 -v'
+   command is designed to trigger this, by compiling, linking, and
+   running a small program that calls the routines in sequence.
+
+-  libF77/main.c no longer contains the actual code to copy the
+   argc and argv values into globals or to set up the signal-handling
+   environment.  These have been removed to libF77/setarg.c and
+   libF77/setsig.c, respectively.  libF77/main.c contains procedure
+   calls to the new code in place of the code itself.  This should
+   simplify linking executables with a main() function other than
+   that in libF77/main.c (such as one written by the user in C or
+   C++).  See the g77 documentation for more information.
+
+-  Complex-arithmetic support routines in libF77/ take a different approach
+   to avoiding problems resulting from aliased input and output arguments,
+   which should avoid particularly unusual alias problems that netlib
+   libf2c might suffer from.
+
+-  libF77/signal_.c supports systems with 64-bit pointers and 32-bit
+   integers.
+
+-  I/O routines in libI77/ have code to detect attempts to do recursive
+   I/O more "directly", mainly to lead to a clearer diagnostic than
+   typically occurs under such conditions.
+
+-  Formatted-I/O routines in libI77/ have code to pretty-print a FORMAT
+   string when printing a fatal diagnostic involving formatted I/O.
+
+-  libI77/open.c supports a more robust, perhaps more secure, method
+   of naming temporary files on some systems.
+
+-  Some g77-specific handling of building under Microsoft operating
+   systems exists, mainly in libI77/.
diff --git a/contrib/gcc-3.4/libf2c/TODO b/contrib/gcc-3.4/libf2c/TODO
new file mode 100644 (file)
index 0000000..84cbb0c
--- /dev/null
@@ -0,0 +1,14 @@
+980709
+
+TODO list for the g77 library
+
+* Investigate building shared libraries on systems we know about
+  (probably using libtool).
+
+* Better test cases.
+
+* Allow the library to be stripped to save space.  (The install-strip
+  makefile target now allows this, should it be easily invocable.)
+
+* An interface to IEEE maths functions from libc where this makes
+  sense.
diff --git a/contrib/gcc-3.4/libf2c/changes.netlib b/contrib/gcc-3.4/libf2c/changes.netlib
new file mode 100644 (file)
index 0000000..4ec0e7f
--- /dev/null
@@ -0,0 +1,3026 @@
+31 Aug. 1989:
+   1. A(min(i,j)) now is translated correctly (where A is an array).
+   2. 7 and 8 character variable names are allowed (but elicit a
+      complaint under -ext).
+   3. LOGICAL*1 is treated as LOGICAL, with just one error message
+      per LOGICAL*1 statement (rather than one per variable declared
+      in that statement).  [Note that LOGICAL*1 is not in Fortran 77.]
+      Like f77, f2c now allows the format in a read or write statement
+      to be an integer array.
+
+5 Sept. 1989:
+   Fixed botch in argument passing of substrings of equivalenced
+variables.
+
+15 Sept. 1989:
+   Warn about incorrect code generated when a character-valued
+function is not declared external and is passed as a parameter
+(in violation of the Fortran 77 standard) before it is invoked.
+Example:
+
+       subroutine foo(a,b)
+       character*10 a,b
+       call goo(a,b)
+       b = a(3)
+       end
+
+18 Sept. 1989:
+   Complain about overlapping initializations.
+
+20 Sept. 1989:
+   Warn about names declared EXTERNAL but never referenced;
+include such names as externs in the generated C (even
+though most C compilers will discard them).
+
+24 Sept. 1989:
+   New option -w8 to suppress complaint when COMMON or EQUIVALENCE
+forces word alignment of a double.
+   Under -A (for ANSI C), ensure that floating constants (terminated
+by 'f') contain either a decimal point or an exponent field.
+   Repair bugs sometimes encountered with CHAR and ICHAR intrinsic
+functions.
+   Restore f77's optimizations for copying and comparing character
+strings of length 1.
+   Always assume floating-point valued routines in libF77 return
+doubles, even under -R.
+   Repair occasional omission of arguments in routines having multiple
+entry points.
+   Repair bugs in computing offsets of character strings involved
+in EQUIVALENCE.
+   Don't omit structure qualification when COMMON variables are used
+as FORMATs or internal files.
+
+2 Oct. 1989:
+   Warn about variables that appear only in data stmts; don't emit them.
+   Fix bugs in character DATA for noncharacter variables
+involved in EQUIVALENCE.
+   Treat noncharacter variables initialized (at least partly) with
+character data as though they were equivalenced -- put out a struct
+and #define the variables.  This eliminates the hideous and nonportable
+numeric values that were used to initialize such variables.
+   Treat IMPLICIT NONE as IMPLICIT UNDEFINED(A-Z) .
+   Quit when given invalid options.
+
+8 Oct. 1989:
+  Modified naming scheme for generated intermediate variables;
+more are recycled, fewer distinct ones used.
+  New option -W nn specifies nn characters/word for Hollerith
+data initializing non-character variables.
+  Bug fix: x(i:min(i+10,j)) used to elicit "Can't handle opcode 31 yet".
+  Integer expressions of the form (i+const1) - (i+const2), where
+i is a scalar integer variable, are now simplified to (const1-const2);
+this leads to simpler translation of some substring expressions.
+  Initialize uninitialized portions of character string arrays to 0
+rather than to blanks.
+
+9 Oct. 1989:
+  New option -c to insert comments showing original Fortran source.
+  New option -g to insert line numbers of original Fortran source.
+
+10 Oct. 1989:
+  ! recognized as in-line comment delimiter (a la Fortran 88).
+
+24 Oct. 1989:
+  New options to ease coping with systems that want the structs
+that result from COMMON blocks to be defined just once:
+  -E causes uninitialized COMMON blocks to be declared Extern;
+if Extern is undefined, f2c.h #defines it to be extern.
+  -ec causes a separate .c file to be emitted for each
+uninitialized COMMON block: COMMON /ABC/ yields abc_com.c;
+thus one can compile *_com.c into a library to ensure
+precisely one definition.
+  -e1c is similar to -ec, except that everything goes into
+one file, along with comments that give a sed script for
+splitting the file into the pieces that -ec would give.
+This is for use with netlib's "execute f2c" service (for which
+-ec is coerced into -e1c, and the sed script will put everything
+but the COMMON definitions into f2c_out.c ).
+
+28 Oct. 1989:
+  Convert "i = i op ..." into "i op= ...;" even when i is a
+dummy argument.
+
+13 Nov. 1989:
+  Name integer constants (passed as arguments) c__... rather
+than c_... so
+       common /c/stuff
+       call foo(1)
+       ...
+is translated correctly.
+
+19 Nov. 1989:
+  Floating-point constants are now kept as strings unless they
+are involved in constant expressions that get simplified.  The
+floating-point constants kept as strings can have arbitrarily
+many significant figures and a very large exponent field (as
+large as long int allows on the machine on which f2c runs).
+Thus, for example, the body of
+
+       subroutine zot(x)
+       double precision x(6), pi
+       parameter (pi=3.1415926535897932384626433832795028841972)
+       x(1) = pi
+       x(2) = pi+1
+       x(3) = 9287349823749272.7429874923740978492734D-298374
+       x(4) = .89
+       x(5) = 4.0005
+       x(6) = 10D7
+       end
+
+now gets translated into
+
+    x[1] = 3.1415926535897932384626433832795028841972;
+    x[2] = 4.1415926535897931;
+    x[3] = 9.2873498237492727429874923740978492734e-298359;
+    x[4] = (float).89;
+    x[5] = (float)4.0005;
+    x[6] = 1e8;
+
+rather than the former
+
+    x[1] = 3.1415926535897931;
+    x[2] = 4.1415926535897931;
+    x[3] = 0.;
+    x[4] = (float)0.89000000000000003;
+    x[5] = (float)4.0004999999999997;
+    x[6] = 100000000.;
+
+  Recognition of f77 machine-constant intrinsics deleted, i.e.,
+epbase, epprec, epemin, epemax, eptiny, ephuge, epmrsp.
+
+22 Nov. 1989:
+  Workarounds for glitches on some Sun systems...
+  libf77: libF77/makefile modified to point out possible need
+to compile libF77/main.c with -Donexit=on_exit .
+  libi77: libI77/wref.c (and libI77/README) modified so non-ANSI
+systems can compile with USE_STRLEN defined, which will cause
+       sprintf(b = buf, "%#.*f", d, x);
+       n = strlen(b) + d1;
+rather than
+       n = sprintf(b = buf, "%#.*f", d, x) + d1;
+to be compiled.
+
+26 Nov. 1989:
+  Longer names are now accepted (up to 50 characters); names may
+contain underscores (in which case they will have two underscores
+appended, to avoid clashes with library names).
+
+28 Nov. 1989:
+  libi77 updated:
+       1. Allow 3 (or, on Crays, 4) digit exponents under format Ew.d .
+       2. Try to get things right on machines where ints have 16 bits.
+
+29 Nov. 1989:
+  Supplied missing semicolon in parameterless subroutines that
+have multiple entry points (all of them parameterless).
+
+30 Nov. 1989:
+  libf77 and libi77 revised to use types from f2c.h.
+  f2c now types floating-point valued C library routines as "double"
+rather than "doublereal" (for use with nonstandard C compilers for
+which "double" is IEEE double extended).
+
+1 Dec. 1989:
+  f2c.h updated to eliminate #defines rendered unnecessary (and,
+indeed, dangerous) by change of 26 Nov. to long names possibly
+containing underscores.
+  libi77 further revised: yesterday's change omitted two tweaks to fmt.h
+(tweaks which only matter if float and real or double and doublereal are
+different types).
+
+2 Dec. 1989:
+  Better error message (than "bad tag") for NAMELIST, which no longer
+inhibits C output.
+
+4 Dec. 1989:
+  Allow capital letters in hex constants (f77 extension; e.g.,
+x'a012BCd', X'A012BCD' and x'a012bcd' are all treated as the integer
+167848909).
+  libi77 further revised: lio.c lio.h lread.c wref.c wrtfmt.c tweaked
+again to allow float and real or double and doublereal to be different.
+
+6 Dec. 1989:
+  Revised f2c.h -- required for the following...
+  Simpler looking translations for abs, min, max, using #defines in
+revised f2c.h .
+  libi77: more corrections to types; additions for NAMELIST.
+  Corrected casts in some I/O calls.
+  Translation of NAMELIST; libi77 must still be revised.  Currently
+libi77 gives you a run-time error message if you attempt NAMELIST I/O.
+
+7 Dec. 1989:
+  Fixed bug that prevented local integer variables that appear in DATA
+stmts from being ASSIGNed statement labels.
+  Fillers (for DATA statements initializing EQUIVALENCEd variables and
+variables in COMMON) typed integer rather than doublereal (for slightly
+more portability, e.g. to Crays).
+  libi77: missing return values supplied in a few places; some tests
+reordered for better working on the Cray.
+  libf77: better accuracy for complex divide, complex square root,
+real mod function (casts to double; double temporaries).
+
+9 Dec. 1989:
+  Fixed bug that caused needless (albeit harmless) empty lines to be
+inserted in the C output when a comment line contained trailing blanks.
+  Further tweak to type of fillers: allow doublereal fillers if the
+struct has doublereal data.
+
+11 Dec. 1989:
+  Alteration of rule for producing external (C) names from names that
+contain underscores.  Now the external name is always obtained by
+appending a pair of underscores.
+
+12 Dec. 1989:
+  C production inhibited after most errors.
+
+15 Dec. 1989:
+  Fixed bug in headers for subroutines having two or more character
+strings arguments:  the length arguments were reversed.
+
+19 Dec. 1989:
+  f2c.h libf77 libi77: adjusted so #undefs in f2c.h should not foil
+compilation of libF77 and libI77.
+  libf77: getenv_ adjusted to work with unsorted environments.
+  libi77: the iostat= specifier should now work right with internal I/O.
+
+20 Dec. 1989:
+  f2c bugs fixed: In the absence of an err= specifier, the iostat=
+specifier was generally set wrong.  Character strings containing
+explicit nulls (\0) were truncated at the first null.
+  Unlabeled DO loops recognized; must be terminated by ENDDO.
+(Don't ask for CYCLE, EXIT, named DO loops, or DO WHILE.)
+
+29 Dec. 1989:
+  Nested unlabeled DO loops now handled properly; new warning for
+extraneous text at end of FORMAT.
+
+30 Dec. 1989:
+  Fixed bug in translating dble(real(...)), dble(sngl(...)), and
+dble(float(...)), where ... is either of type double complex or
+is an expression requiring assignment to intermediate variables (e.g.,
+dble(real(foo(x+1))), where foo is a function and x is a variable).
+Regard nonblank label fields on continuation lines as an error.
+
+3 Jan. 1990:
+  New option -C++ yields output that should be understood
+by C++ compilers.
+
+6 Jan. 1989:
+  -a now excludes variables that appear in a namelist from those
+that it makes automatic.  (As before, it also excludes variables
+that appear in a common, data, equivalence, or save statement.)
+  The syntactically correct Fortran
+       read(*,i) x
+       end
+now yields syntactically correct C (even though both the Fortran
+and C are buggy -- no FORMAT has not been ASSIGNed to i).
+
+7 Jan. 1990:
+  libi77: routines supporting NAMELIST added.  Surrounding quotes
+made optional when no ambiguity arises in a list or namelist READ
+of a character-string value.
+
+9 Jan. 1990:
+  f2c.src made available.
+
+16 Jan. 1990:
+  New options -P to produce ANSI C or C++ prototypes for procedures
+defined.  Change to -A and -C++: f2c tries to infer prototypes for
+invoked procedures unless the new -!P option is given.  New warning
+messages for inconsistent calling sequences among procedures within
+a single file.  Most of f2c/src is affected.
+  f2c.h: typedefs for procedure arguments added; netlib's f2c service
+will insert appropriate typedefs for use with older versions of f2c.h.
+
+17 Jan. 1990:
+  f2c/src: defs.h exec.c format.c proc.c putpcc.c version.c xsum0.out
+updated.  Castargs and protofile made extern in defs.h; exec.c
+modified so superfluous else clauses are diagnosed; unused variables
+omitted from declarations in format.c proc.c putpcc.c .
+
+21 Jan. 1990:
+  No C emitted for procedures declared external but not referenced.
+  f2c.h: more new types added for use with -P.
+  New feature: f2c accepts as arguments files ending in .p or .P;
+such files are assumed to be prototype files, such as produced by
+the -P option.  All prototype files are read before any Fortran files
+and apply globally to all Fortran files.  Suitable prototypes help f2c
+warn about calling-sequence errors and can tell f2c how to type
+procedures declared external but not explicitly typed; the latter is
+mainly of interest for users of the -A and -C++ options.  (Prototype
+arguments are not available to netlib's "execute f2c" service.)
+  New option -it tells f2c to try to infer types of untyped external
+arguments from their use as parameters to prototyped or previously
+defined procedures.
+  f2c/src: many minor cleanups; most modules changed.  Individual
+files in f2c/src are now in "bundle" format.  The former f2c.1 is
+now f2c.1t; "f2c.1t from f2c" and "f2c.1t from f2c/src" are now the
+same, as are "f2c.1 from f2c" and "f2c.1 from f2c/src".  People who
+do not obtain a new copy of "all from f2c/src" should at least add
+       fclose(sortfp);
+after the call on do_init_data(outfile, sortfp) in format_data.c .
+
+22 Jan. 1990:
+  Cleaner man page wording (thanks to Doug McIlroy).
+  -it now also applies to all untyped EXTERNAL procedures, not just
+arguments.
+
+23 Jan. 01:34:00 EST 1990:
+  Bug fixes: under -A and -C++, incorrect C was generated for
+subroutines having multiple entries but no arguments.
+  Under -A -P, subroutines of no arguments were given prototype
+calling sequence () rather than (void).
+  Character-valued functions elicited erroneous warning messages
+about inconsistent calling sequences when referenced by another
+procedure in the same file.
+  f2c.1t: omit first appearance of libF77.a in FILES section;
+load order of libraries is -lF77 -lI77, not vice versa (bug
+introduced in yesterday's edits); define .F macro for those whose
+-man lacks it.  (For a while after yesterday's fixes were posted,
+f2c.1t was out of date.  Sorry!)
+
+23 Jan. 9:53:24 EST 1990:
+  Character substring expressions involving function calls having
+character arguments (including the intrinsic len function) yielded
+incorrect C.
+  Procedures defined after invocation (in the same file) with
+conflicting argument types also got an erroneous message about
+the wrong number of arguments.
+
+24 Jan. 11:44:00 EST 1990:
+  Bug fixes: -p omitted #undefs; COMMON block names containing
+underscores had their C names incorrectly computed; a COMMON block
+having the name of a previously defined procedure wreaked havoc;
+if all arguments were .P files, f2c tried reading the second as a
+Fortran file.
+  New feature: -P emits comments showing COMMON block lengths, so one
+can get warnings of incompatible COMMON block lengths by having f2c
+read .P (or .p) files.  Now by running f2c twice, first with -P -!c
+(or -P!c),  then with *.P among the arguments, you can be warned of
+inconsistent COMMON usage, and COMMON blocks having inconsistent
+lengths will be given the maximum length.  (The latter always did
+happen within each input file; now -P lets you extend this behavior
+across files.)
+
+26 Jan. 16:44:00 EST 1990:
+  Option -it made less aggressive: untyped external procedures that
+are invoked are now typed by the rules of Fortran, rather than by
+previous use of procedures to which they are passed as arguments
+before being invoked.
+  Option -P now includes information about references, i.e., called
+procedures, in the prototype files (in the form of special comments).
+This allows iterative invocations of f2c to infer more about untyped
+external names, particularly when multiple Fortran files are involved.
+  As usual, there are some obscure bug fixes:
+1.  Repair of erroneous warning messages about inconsistent number of
+arguments that arose when a character dummy parameter was discovered
+to be a function or when multiple entry points involved character
+variables appearing in a previous entry point.
+2.  Repair of memory fault after error msg about "adjustable character
+function".
+3.  Under -U, allow MAIN_ as a subroutine name (in the same file as a
+main program).
+4.  Change for consistency: a known function invoked as a subroutine,
+then as a function elicits a warning rather than an error.
+
+26 Jan. 22:32:00 EST 1990:
+  Fixed two bugs that resulted in incorrect C for substrings, within
+the body of a character-valued function, of the function's name, when
+those substrings were arguments to another function (even implicitly,
+as in character-string assignment).
+
+28 Jan. 18:32:00 EST 1990:
+  libf77, libi77: checksum files added; "make check" looks for
+transmission errors.  NAMELIST read modified to allow $ rather than &
+to precede a namelist name, to allow $ rather than / to terminate
+input where the name of another variable would otherwise be expected,
+and to regard all nonprinting ASCII characters <= ' ' as spaces.
+
+29 Jan. 02:11:00 EST 1990:
+  "fc from f2c" added.
+  -it option made the default; -!it turns it off.  Type information is
+now updated in a previously missed case.
+  -P option tweaked again; message about when rerunning f2c may change
+prototypes or declarations made more accurate.
+  New option -Ps implies -P and returns exit status 4 if rerunning
+f2c -P with prototype inputs might change prototypes or declarations.
+Now you can execute a crude script like
+
+       cat *.f >zap.F
+       rm -f zap.P
+       while :; do
+               f2c -Ps -!c zap.[FP]
+               case $? in 4) ;; *) break;; esac
+               done
+
+to get a file zap.P of the best prototypes f2c can determine for *.f .
+
+Jan. 29 07:30:21 EST 1990:
+  Forgot to check for error status when setting return code 4 under -Ps;
+error status (1, 2, 3, or, for caught signal, 126) now takes precedence.
+
+Jan 29 14:17:00 EST 1990:
+  Incorrect handling of
+       open(n,'filename')
+repaired -- now treated as
+       open(n,file='filename')
+(and, under -ext, given an error message).
+  New optional source file memset.c for people whose systems don't
+provide memset, memcmp, and memcpy; #include <string.h> in mem.c
+changed to #include "string.h" so BSD people can create a local
+string.h that simply says #include <strings.h> .
+
+Jan 30 10:34:00 EST 1990:
+  Fix erroneous warning at end of definition of a procedure with
+character arguments when the procedure had previously been called with
+a numeric argument instead of a character argument.  (There were two
+warnings, the second one incorrectly complaining of a wrong number of
+arguments.)
+
+Jan 30 16:29:41 EST 1990:
+  Fix case where -P and -Ps erroneously reported another iteration
+necessary.  (Only harm is the extra iteration.)
+
+Feb 3 01:40:00 EST 1990:
+  Supply semicolon occasionally omitted under -c .
+  Try to force correct alignment when numeric variables are initialized
+with character data (a non-standard and non-portable practice).  You
+must use the -W option if your code has such data statements and is
+meant to run on a machine with other than 4 characters/word; e.g., for
+code meant to run on a Cray, you would specify -W8 .
+  Allow parentheses around expressions in output lists (in write and
+print statements).
+  Rename source files so their names are <= 12 characters long
+(so there's room to append .Z and still have <= 14 characters);
+renamed files:  formatdata.c niceprintf.c niceprintf.h safstrncpy.c .
+  f2c material made available by anonymous ftp from research.att.com
+(look in dist/f2c ).
+
+Feb 3 03:49:00 EST 1990:
+  Repair memory fault that arose from use (in an assignment or
+call) of a non-argument variable declared CHARACTER*(*).
+
+Feb 9 01:35:43 EST 1990:
+  Fix erroneous error msg about bad types in
+       subroutine foo(a,adim)
+       dimension a(adim)
+       integer adim
+  Fix improper passing of character args (and possible memory fault)
+in the expression part of a computed goto.
+  Fix botched calling sequences in array references involving
+functions having character args.
+  Fix memory fault caused by invocation of character-valued functions
+of no arguments.
+  Fix botched calling sequence of a character*1-valued function
+assigned to a character*1 variable.
+  Fix bug in error msg for inconsistent number of args in prototypes.
+  Allow generation of C output despite inconsistencies in prototypes,
+but give exit code 8.
+  Simplify include logic (by removing some bogus logic); never
+prepend "/usr/include/" to file names.
+  Minor cleanups (that should produce no visible change in f2c's
+behavior) in intr.c parse.h main.c defs.h formatdata.c p1output.c .
+
+Feb 10 00:19:38 EST 1990:
+  Insert (integer) casts when floating-point expressions are used
+as subscripts.
+  Make SAVE stmt (with no variable list) override -a .
+  Minor cleanups: change field to Field in struct Addrblock (for the
+benefit of buggy C compilers); omit system("/bin/cp ...") in misc.c .
+
+Feb 13 00:39:00 EST 1990:
+  Error msg fix in gram.dcl: change "cannot make %s parameter"
+to "cannot make into parameter".
+
+Feb 14 14:02:00 EST 1990:
+  Various cleanups (invisible on systems with 4-byte ints), thanks
+to Dave Regan: vaxx.c eliminated; %d changed to %ld various places;
+external names adjusted for the benefit of stupid systems (that ignore
+case and recognize only 6 significant characters in external names);
+buffer shortened in xsum.c (e.g. for MS-DOS); fopen modes distinguish
+text and binary files; several unused functions eliminated; missing
+arg supplied to an unlikely fatalstr invocation.
+
+Thu Feb 15 19:15:53 EST 1990:
+  More cleanups (invisible on systems with 4 byte ints); casts inserted
+so most complaints from cyntax(1) and lint(1) go away; a few (int)
+versus (long) casts corrected.
+
+Fri Feb 16 19:55:00 EST 1990:
+  Recognize and translate unnamed Fortran 8x do while statements.
+  Fix bug that occasionally caused improper breaking of character
+strings.
+  New error message for attempts to provide DATA in a type-declaration
+statement.
+
+Sat Feb 17 11:43:00 EST 1990:
+  Fix infinite loop clf -> Fatal -> done -> clf after I/O error.
+  Change "if (addrp->vclass = CLPROC)" to "if (addrp->vclass == CLPROC)"
+in p1_addr (in p1output.c); this was probably harmless.
+  Move a misplaced } in lex.c (which slowed initkey()).
+  Thanks to Gary Word for pointing these things out.
+
+Sun Feb 18 18:07:00 EST 1990:
+  Detect overlapping initializations of arrays and scalar variables
+in previously missed cases.
+  Treat logical*2 as logical (after issuing a warning).
+  Don't pass string literals to p1_comment().
+  Correct a cast (introduced 16 Feb.) in gram.expr; this matters e.g.
+on a Cray.
+  Attempt to isolate UNIX-specific things in sysdep.c (a new source
+file).  Unless sysdep.c is compiled with SYSTEM_SORT defined, the
+intermediate files created for DATA statements are now sorted in-core
+without invoking system().
+
+Tue Feb 20 16:10:35 EST 1990:
+  Move definition of binread and binwrite from init.c to sysdep.c .
+  Recognize Fortran 8x tokens < <= == >= > <> as synonyms for
+.LT. .LE. .EQ. .GE. .GT. .NE.
+  Minor cleanup in putpcc.c:  fully remove simoffset().
+  More discussion of system dependencies added to libI77/README.
+
+Tue Feb 20 21:44:07 EST 1990:
+  Minor cleanups for the benefit of EBCDIC machines -- try to remove
+the assumption that 'a' through 'z' are contiguous.  (Thanks again to
+Gary Word.)  Also, change log2 to log_2 (shouldn't be necessary).
+
+Wed Feb 21 06:24:56 EST 1990:
+  Fix botch in init.c introduced in previous change; only matters
+to non-ASCII machines.
+
+Thu Feb 22 17:29:12 EST 1990:
+  Allow several entry points to mention the same array.  Protect
+parameter adjustments with if's (for the case that an array is not
+an argument to all entrypoints).
+  Under -u, allow
+       subroutine foo(x,n)
+       real x(n)
+       integer n
+  Compute intermediate variables used to evaluate dimension expressions
+at the right time.  Example previously mistranslated:
+       subroutine foo(x,k,m,n)
+       real x(min(k,m,n))
+       ...
+       write(*,*) x
+  Detect duplicate arguments.  (The error msg points to the first
+executable stmt -- not wonderful, but not worth fixing.)
+  Minor cleanup of min/max computation (sometimes slightly simpler).
+
+Sun Feb 25 09:39:01 EST 1990:
+  Minor tweak to multiple entry points: protect parameter adjustments
+with if's only for (array) args that do not appear in all entry points.
+  Minor tweaks to format.c and io.c (invisible unless your compiler
+complained at the duplicate #defines of IOSUNIT and IOSFMT or at
+comparisons of p1gets(...) with NULL).
+
+Sun Feb 25 18:40:10 EST 1990:
+  Fix bug introduced Feb. 22: if a subprogram contained DATA and the
+first executable statement was labeled, then the label got lost.
+(Just change INEXEC to INDATA in p1output.c; it occurs just once.)
+
+Mon Feb 26 17:45:10 EST 1990:
+  Fix bug in handling of " and ' in comments.
+
+Wed Mar 28 01:43:06 EST 1990:
+libI77:
+ 1. Repair nasty I/O bug: opening two files and closing the first
+(after possibly reading or writing it), then writing the second caused
+the last buffer of the second to be lost.
+ 2. Formatted reads of logical values treated all letters other than
+t or T as f (false).
+ libI77 files changed: err.c rdfmt.c Version.c
+ (Request "libi77 from f2c" -- you can't get these files individually.)
+
+f2c itself:
+  Repair nasty bug in translation of
+       ELSE IF (condition involving complicated abs, min, or max)
+-- auxiliary statements were emitted at the wrong place.
+  Supply semicolon previously omitted from the translation of a label
+(of a CONTINUE) immediately preceding an ELSE IF or an ELSE.  This
+bug made f2c produce invalid C.
+  Correct a memory fault that occurred (on some machines) when the
+error message "adjustable dimension on non-argument" should be given.
+  Minor tweaks to remove some harmless warnings by overly chatty C
+compilers.
+  Argument arays having constant dimensions but a variable lower bound
+(e.g., x(n+1:n+3)) had a * omitted from scalar arguments involved in
+the array offset computation.
+
+Wed Mar 28 18:47:59 EST 1990:
+libf77: add exit(0) to end of main [return(0) encounters a Cray bug]
+
+Sun Apr  1 16:20:58 EDT 1990:
+  Avoid dereferencing null when processing equivalences after an error.
+
+Fri Apr  6 08:29:49 EDT 1990:
+  Calls involving alternate return specifiers omitted processing
+needed for things like min, max, abs, and // (concatenation).
+  INTEGER*2 PARAMETERs were treated as INTEGER*4.
+  Convert some O(n^2) parsing to O(n).
+
+Tue Apr 10 20:07:02 EDT 1990:
+  When inconsistent calling sequences involve differing numbers of
+arguments, report the first differing argument rather than the numbers
+of arguments.
+  Fix bug under -a: formatted I/O in which either the unit or the
+format was a local character variable sometimes resulted in invalid C
+(a static struct initialized with an automatic component).
+  Improve error message for invalid flag after elided -.
+  Complain when literal table overflows, rather than infinitely
+looping.  (The complaint mentions the new and otherwise undocumented
+-NL option for specifying a larger literal table.)
+  New option -h for forcing strings to word (or, with -hd, double-word)
+boundaries where possible.
+  Repair a bug that could cause improper splitting of strings.
+  Fix bug (cast of c to doublereal) in
+       subroutine foo(c,r)
+       double complex c
+       double precision r
+       c = cmplx(r,real(c))
+       end
+  New include file "sysdep.h" has some things from defs.h (and
+elsewhere) that one may need to modify on some systems.
+  Some large arrays that were previously statically allocated are now
+dynamically allocated when f2c starts running.
+  f2c/src files changed:
+       README cds.c defs.h f2c.1 f2c.1t format.c formatdata.c init.c
+       io.c lex.c main.c makefile mem.c misc.c names.c niceprintf.c
+       output.c parse_args.c pread.c put.c putpcc.c sysdep.h
+       version.c xsum0.out
+
+Wed Apr 11 18:27:12 EDT 1990:
+  Fix bug in argument consistency checking of character, complex, and
+double complex valued functions.  If the same source file contained a
+definition of such a function with arguments not explicitly typed,
+then subsequent references to the function might get erroneous
+warnings of inconsistent calling sequences.
+  Tweaks to sysdep.h for partially ANSI systems.
+  New options -kr and -krd cause f2c to use temporary variables to
+enforce Fortran evaluation-order rules with pernicious, old-style C
+compilers that apply the associative law to floating-point operations.
+
+Sat Apr 14 15:50:15 EDT 1990:
+  libi77: libI77 adjusted to allow list-directed and namelist I/O
+of internal files; bug in namelist I/O of logical and character arrays
+fixed; list input of complex numbers adjusted to permit d or D to
+denote the start of the exponent field of a component.
+  f2c itself: fix bug in handling complicated lower-bound
+expressions for character substrings; e.g., min and max did not work
+right, nor did function invocations involving character arguments.
+  Switch to octal notation, rather than hexadecimal, for nonprinting
+characters in character and string constants.
+  Fix bug (when neither -A nor -C++ was specified) in typing of
+external arguments of type complex, double complex, or character:
+       subroutine foo(c)
+       external c
+       complex c
+now results in
+       /* Complex */ int (*c) ();
+(as, indeed, it once did) rather than
+       complex (*c) ();
+
+Sat Apr 14 22:50:39 EDT 1990:
+  libI77/makefile: updated "make check" to omit lio.c
+  lib[FI]77/makefile: trivial change: define CC = cc, reference $(CC).
+  (Request, e.g., "libi77 from f2c" -- you can't ask for individual
+files from lib[FI]77.)
+
+Wed Apr 18 00:56:37 EDT 1990:
+  Move declaration of atof() from defs.h to sysdep.h, where it is
+now not declared if stdlib.h is included.  (NeXT's stdlib.h has a
+#define atof that otherwise wreaks havoc.)
+  Under -u, provide a more intelligible error message (than "bad tag")
+for an attempt to define a function without specifying its type.
+
+Wed Apr 18 17:26:27 EDT 1990:
+  Recognize \v (vertical tab) in Hollerith as well as quoted strings;
+add recognition of \r (carriage return).
+  New option -!bs turns off recognition of escapes in character strings
+(\0, \\, \b, \f, \n, \r, \t, \v).
+  Move to sysdep.c initialization of some arrays whose initialization
+assumed ASCII; #define Table_size in sysdep.h rather than using
+hard-coded 256 in allocating arrays of size 1 << (bits/byte).
+
+Thu Apr 19 08:13:21 EDT 1990:
+  Warn when escapes would make Hollerith extend beyond statement end.
+  Omit max() definition from misc.c (should be invisible except on
+systems that erroneously #define max in stdlib.h).
+
+Mon Apr 23 22:24:51 EDT 1990:
+  When producing default-style C (no -A or -C++), cast switch
+expressions to (int).
+  Move "-lF77 -lI77 -lm -lc" to link_msg, defined in sysdep.c .
+  Add #define scrub(x) to sysdep.h, with invocations in format.c and
+formatdata.c, so that people who have systems like VMS that would
+otherwise create multiple versions of intermediate files can
+#define scrub(x) unlink(x)
+
+Tue Apr 24 18:28:36 EDT 1990:
+  Pass string lengths once rather than twice to a function of character
+arguments involved in comparison of character strings of length 1.
+
+Fri Apr 27 13:11:52 EDT 1990:
+  Fix bug that made f2c gag on concatenations involving char(...) on
+some systems.
+
+Sat Apr 28 23:20:16 EDT 1990:
+  Fix control-stack bug in
+       if(...) then
+       else if (complicated condition)
+       else
+       endif
+(where the complicated condition causes assignment to an auxiliary
+variable, e.g., max(a*b,c)).
+
+Mon Apr 30 13:30:10 EDT 1990:
+  Change fillers for DATA with holes from substructures to arrays
+(in an attempt to make things work right with C compilers that have
+funny padding rules for substructures, e.g., Sun C compilers).
+  Minor cleanup of exec.c (should not affect generated C).
+
+Mon Apr 30 23:13:51 EDT 1990:
+  Fix bug in handling return values of functions having multiple
+entry points of differing return types.
+
+Sat May  5 01:45:18 EDT 1990:
+  Fix type inference bug in
+       subroutine foo(x)
+       call goo(x)
+       end
+       subroutine goo(i)
+       i = 3
+       end
+Instead of warning of inconsistent calling sequences for goo,
+f2c was simply making i a real variable; now i is correctly
+typed as an integer variable, and f2c issues an error message.
+  Adjust error messages issued at end of declarations so they
+don't blame the first executable statement.
+
+Sun May  6 01:29:07 EDT 1990:
+  Fix bug in -P and -Ps: warn when the definition of a subprogram adds
+information that would change prototypes or previous declarations.
+
+Thu May 10 18:09:15 EDT 1990:
+  Fix further obscure bug with (default) -it: inconsistent calling
+sequences and I/O statements could interact to cause a memory fault.
+Example:
+      SUBROUTINE FOO
+      CALL GOO(' Something') ! Forgot integer first arg
+      END
+      SUBROUTINE GOO(IUNIT,MSG)
+      CHARACTER*(*)MSG
+      WRITE(IUNIT,'(1X,A)') MSG
+      END
+
+Fri May 11 16:49:11 EDT 1990:
+  Under -!c, do not delete any .c files (when there are errors).
+  Avoid dereferencing 0 when a fatal error occurs while reading
+Fortran on stdin.
+
+Wed May 16 18:24:42 EDT 1990:
+  f2c.ps made available.
+
+Mon Jun  4 12:53:08 EDT 1990:
+  Diagnose I/O units of invalid type.
+  Add specific error msg about dummy arguments in common.
+
+Wed Jun 13 12:43:17 EDT 1990:
+  Under -A, supply a missing "[1]" for CHARACTER*1 variables that appear
+both in a DATA statement and in either COMMON or EQUIVALENCE.
+
+Mon Jun 18 16:58:31 EDT 1990:
+  Trivial updates to f2c.ps .  ("Fortran 8x" --> "Fortran 90"; omit
+"(draft)" from "(draft) ANSI C".)
+
+Tue Jun 19 07:36:32 EDT 1990:
+  Fix incorrect code generated for ELSE IF(expression involving
+function call passing non-constant substring).
+  Under -h, preserve the property that strings are null-terminated
+where possible.
+  Remove spaces between # and define in lex.c output.c parse.h .
+
+Mon Jun 25 07:22:59 EDT 1990:
+  Minor tweak to makefile to reduce unnecessary recompilations.
+
+Tue Jun 26 11:49:53 EDT 1990:
+  Fix unintended truncation of some integer constants on machines
+where casting a long to (int) may change the value.  E.g., when f2c
+ran on machines with 16-bit ints, "i = 99999" was being translated
+to "i = -31073;".
+
+Wed Jun 27 11:05:32 EDT 1990:
+  Arrange for CHARACTER-valued PARAMETERs to honor their length
+specifications.  Allow CHAR(nn) in expressions defining such PARAMETERs.
+
+Fri Jul 20 09:17:30 EDT 1990:
+  Avoid dereferencing 0 when a FORMAT statement has no label.
+
+Thu Jul 26 11:09:39 EDT 1990:
+  Remarks about VOID and binread,binwrite added to README.
+  Tweaks to parse_args: should be invisible unless your compiler
+complained at (short)*store.
+
+Thu Aug  2 02:07:58 EDT 1990:
+  f2c.ps: change the first line of page 5 from
+       include stuff
+to
+       include 'stuff'
+
+Tue Aug 14 13:21:24 EDT 1990:
+  libi77: libI77 adjusted to treat tabs as spaces in list input.
+
+Fri Aug 17 07:24:53 EDT 1990:
+  libi77: libI77 adjusted so a blank='ZERO' clause (upper case Z)
+in an open of a currently open file works right.
+
+Tue Aug 28 01:56:44 EDT 1990:
+  Fix bug in warnings of inconsistent calling sequences: if an
+argument to a subprogram was never referenced, then a previous
+invocation of the subprogram (in the same source file) that
+passed something of the wrong type for that argument did not
+elicit a warning message.
+
+Thu Aug 30 09:46:12 EDT 1990:
+  libi77: prevent embedded blanks in list output of complex values;
+omit exponent field in list output of values of magnitude between
+10 and 1e8; prevent writing stdin and reading stdout or stderr;
+don't close stdin, stdout, or stderr when reopening units 5, 6, 0.
+
+Tue Sep  4 12:30:57 EDT 1990:
+  Fix bug in C emitted under -I2 or -i2 for INTEGER*4 FUNCTION.
+  Warn of missing final END even if there are previous errors.
+
+Fri Sep  7 13:55:34 EDT 1990:
+  Remark about "make xsum.out" and "make f2c" added to README.
+
+Tue Sep 18 23:50:01 EDT 1990:
+  Fix null dereference (and, on some systems, writing of bogus *_com.c
+files) under -ec or -e1c when a prototype file (*.p or *.P) describes
+COMMON blocks that do not appear in the Fortran source.
+  libi77:
+    Add some #ifdef lines (#ifdef MSDOS, #ifndef MSDOS) to avoid
+references to stat and fstat on non-UNIX systems.
+    On UNIX systems, add component udev to unit; decide that old
+and new files are the same iff both the uinode and udev components
+of unit agree.
+    When an open stmt specifies STATUS='OLD', use stat rather than
+access (on UNIX systems) to check the existence of the file (in case
+directories leading to the file have funny permissions and this is
+a setuid or setgid program).
+
+Thu Sep 27 16:04:09 EDT 1990:
+  Supply missing entry for Impldoblock in blksize array of cpexpr
+(in expr.c).  No examples are known where this omission caused trouble.
+
+Tue Oct  2 22:58:09 EDT 1990:
+  libf77: test signal(...) == SIG_IGN rather than & 01 in main().
+  libi77: adjust rewind.c so two successive rewinds after a write
+don't clobber the file.
+
+Thu Oct 11 18:00:14 EDT 1990:
+  libi77: minor cleanups: add #include "fcntl.h" to endfile.c, err.c,
+open.c; adjust g_char in util.c for segmented memories; in f_inqu
+(inquire.c), define x appropriately when MSDOS is defined.
+
+Mon Oct 15 20:02:11 EDT 1990:
+  Add #ifdef MSDOS pointer adjustments to mem.c; treat NAME= as a
+synonym for FILE= in OPEN statements.
+
+Wed Oct 17 16:40:37 EDT 1990:
+  libf77, libi77: minor cleanups: _cleanup() and abort() invocations
+replaced by invocations of sig_die in main.c; some error messages
+previously lost in buffers will now appear.
+
+Mon Oct 22 16:11:27 EDT 1990:
+  libf77: separate sig_die from main (for folks who don't want to use
+the main in libF77).
+  libi77: minor tweak to comments in README.
+
+Fri Nov  2 13:49:35 EST 1990:
+  Use two underscores rather than one in generated temporary variable
+names to avoid conflict with COMMON names.  f2c.ps updated to reflect
+this change and the NAME= extension introduced 15 Oct.
+  Repair a rare memory fault in io.c .
+
+Mon Nov  5 16:43:55 EST 1990:
+  libi77: changes to open.c (and err.c): complain if an open stmt
+specifies new= and the file already exists (as specified by Fortrans 77
+and 90); allow file= to be omitted in open stmts and allow
+status='replace' (Fortran 90 extensions).
+
+Fri Nov 30 10:10:14 EST 1990:
+  Adjust malloc.c for unusual systems whose sbrk() can return values
+not properly aligned for doubles.
+  Arrange for slightly more helpful and less repetitive warnings for
+non-character variables initialized with character data; these warnings
+are (still) suppressed by -w66.
+
+Fri Nov 30 15:57:59 EST 1990:
+  Minor tweak to README (about changing VOID in f2c.h).
+
+Mon Dec  3 07:36:20 EST 1990:
+  Fix spelling of "character" in f2c.1t.
+
+Tue Dec  4 09:48:56 EST 1990:
+  Remark about link_msg and libf2c added to f2c/README.
+
+Thu Dec  6 08:33:24 EST 1990:
+  Under -U, render label nnn as L_nnn rather than Lnnn.
+
+Fri Dec  7 18:05:00 EST 1990:
+  Add more names from f2c.h (e.g. integer, real) to the c_keywords
+list of names to which an underscore is appended to avoid confusion.
+
+Mon Dec 10 19:11:15 EST 1990:
+  Minor tweaks to makefile (./xsum) and README (binread/binwrite).
+  libi77: a few modifications for POSIX systems; meant to be invisible
+elsewhere.
+
+Sun Dec 16 23:03:16 EST 1990:
+  Fix null dereference caused by unusual erroneous input, e.g.
+       call foo('abc')
+       end
+       subroutine foo(msg)
+       data n/3/
+       character*(*) msg
+       end
+(Subroutine foo is illegal because the character statement comes after a
+data statement.)
+  Use decimal rather than hex constants in xsum.c (to prevent
+erroneous warning messages about constant overflow).
+
+Mon Dec 17 12:26:40 EST 1990:
+  Fix rare extra underscore in character length parameters passed
+for multiple entry points.
+
+Wed Dec 19 17:19:26 EST 1990:
+  Allow generation of C despite error messages about bad alignment
+forced by equivalence.
+  Allow variable-length concatenations in I/O statements, such as
+       open(3, file=bletch(1:n) // '.xyz')
+
+Fri Dec 28 17:08:30 EST 1990:
+  Fix bug under -p with formats and internal I/O "units" in COMMON,
+as in
+      COMMON /FIGLEA/F
+      CHARACTER*20 F
+      F = '(A)'
+      WRITE (*,FMT=F) 'Hello, world!'
+      END
+
+Tue Jan 15 12:00:24 EST 1991:
+  Fix bug when two equivalence groups are merged, the second with
+nonzero offset, and the result is then merged into a common block.
+Example:
+      INTEGER W(3), X(3), Y(3), Z(3)
+      COMMON /ZOT/ Z
+      EQUIVALENCE (W(1),X(1)), (X(2),Y(1)), (Z(3),X(1))
+***** W WAS GIVEN THE WRONG OFFSET
+  Recognize Fortran 90's optional NML= in NAMELIST READs and WRITEs.
+(Currently NML= and FMT= are treated as synonyms -- there's no
+error message if, e.g., NML= specifies a format.)
+  libi77: minor adjustment to allow internal READs from character
+string constants in read-only memory.
+
+Fri Jan 18 22:56:15 EST 1991:
+  Add comment to README about needing to comment out the typedef of
+size_t in sysdep.h on some systems, e.g. Sun 4.1.
+  Fix misspelling of "statement" in an error message in lex.c
+
+Wed Jan 23 00:38:48 EST 1991:
+  Allow hex, octal, and binary constants to have the qualifying letter
+(z, x, o, or b) either before or after the quoted string containing the
+digits.  For now this change will not be reflected in f2c.ps .
+
+Tue Jan 29 16:23:45 EST 1991:
+  Arrange for character-valued statement functions to give results of
+the right length (that of the statement function's name).
+
+Wed Jan 30 07:05:32 EST 1991:
+  More tweaks for character-valued statement functions: an error
+check and an adjustment so a right-hand side of nonconstant length
+(e.g., a substring) is handled right.
+
+Wed Jan 30 09:49:36 EST 1991:
+  Fix p1_head to avoid printing (char *)0 with %s.
+
+Thu Jan 31 13:53:44 EST 1991:
+  Add a test after the cleanup call generated for I/O statements with
+ERR= or END= clauses to catch the unlikely event that the cleanup
+routine encounters an error.
+
+Mon Feb  4 08:00:58 EST 1991:
+  Minor cleanup: omit unneeded jumps and labels from code generated for
+some NAMELIST READs and WRITEs with IOSTAT=, ERR=, and/or END=.
+
+Tue Feb  5 01:39:36 EST 1991:
+  Change Mktemp to mktmp (for the benefit of systems so brain-damaged
+that they do not distinguish case in external names -- and that for
+some reason want to load mktemp).  Try to get xsum0.out right this
+time (it somehow didn't get updated on 4 Feb. 1991).
+  Add note to libi77/README about adjusting the interpretation of
+RECL= specifiers in OPENs for direct unformatted I/O.
+
+Thu Feb  7 17:24:42 EST 1991:
+  New option -r casts values of REAL functions, including intrinsics,
+to REAL.  This only matters for unportable code like
+       real r
+       r = asin(1.)
+       if (r .eq. asin(1.)) ...
+[The behavior of such code varies with the Fortran compiler used --
+and sometimes is affected by compiler options.]  For now, the man page
+at the end of f2c.ps is the only part of f2c.ps that reflects this new
+option.
+
+Fri Feb  8 18:12:51 EST 1991:
+  Cast pointer differences passed as arguments to the appropriate type.
+This matters, e.g., with MSDOS compilers that yield a long pointer
+difference but have int == short.
+  Disallow nonpositive dimensions.
+
+Fri Feb 15 12:24:15 EST 1991:
+  Change %d to %ld in sprintf call in putpower in putpcc.c.
+  Free more memory (e.g. allowing translation of larger Fortran
+files under MS-DOS).
+  Recognize READ (character expression) and WRITE (character expression)
+as formatted I/O with the format given by the character expression.
+  Update year in Notice.
+
+Sat Feb 16 00:42:32 EST 1991:
+  Recant recognizing WRITE(character expression) as formatted output
+-- Fortran 77 is not symmetric in its syntax for READ and WRITE.
+
+Mon Mar  4 15:19:42 EST 1991:
+  Fix bug in passing the real part of a complex argument to an intrinsic
+function.  Omit unneeded parentheses in nested calls to intrinsics.
+Example:
+       subroutine foo(x, y)
+       complex y
+       x = exp(sin(real(y))) + exp(imag(y))
+       end
+
+Fri Mar  8 15:05:42 EST 1991:
+  Fix a comment in expr.c; omit safstrncpy.c (which had bugs in
+cases not used by f2c).
+
+Wed Mar 13 02:27:23 EST 1991:
+  Initialize firstmemblock->next in mem_init in mem.c .  [On most
+systems it was fortuituously 0, but with System V, -lmalloc could
+trip on this missed initialization.]
+
+Wed Mar 13 11:47:42 EST 1991:
+  Fix a reference to freed memory.
+
+Wed Mar 27 00:42:19 EST 1991:
+  Fix a memory fault caused by such illegal Fortran as
+       function foo
+       x = 3
+       logical foo     ! declaration among executables
+       foo=.false.     ! used to suffer memory fault
+       end
+
+Fri Apr  5 08:30:31 EST 1991:
+  Fix loss of % in some format expressions, e.g.
+       write(*,'(1h%)')
+  Fix botch introduced 27 March 1991 that caused subroutines with
+multiple entry points to have extraneous declarations of ret_val.
+
+Fri Apr  5 12:44:02 EST 1991
+  Try again to omit extraneous ret_val declarations -- this morning's
+fix was sometimes wrong.
+
+Mon Apr  8 13:47:06 EDT 1991:
+  Arrange for s_rnge to have the right prototype under -A -C .
+
+Wed Apr 17 13:36:03 EDT 1991:
+  New fatal error message for apparent invocation of a recursive
+statement function.
+
+Thu Apr 25 15:13:37 EDT 1991:
+  F2c and libi77 adjusted so NAMELIST works with -i2.  (I forgot
+about -i2 when adding NAMELIST.)  This required a change to f2c.h
+(that only affects NAMELIST I/O under -i2.)  Man-page description of
+-i2 adjusted to reflect that -i2 stores array lengths in short ints.
+
+Fri Apr 26 02:54:41 EDT 1991:
+  Libi77: fix some bugs in NAMELIST reading of multi-dimensional arrays
+(file rsne.c).
+
+Thu May  9 02:13:51 EDT 1991:
+  Omit a trailing space in expr.c (could cause a false xsum value if
+a mailer drops the trailing blank).
+
+Thu May 16 13:14:59 EDT 1991:
+  Libi77: increase LEFBL in lio.h to overcome a NeXT bug.
+  Tweak for compilers that recognize "nested" comments: inside comments,
+turn /* into /+ (as well as */ into +/).
+
+Sat May 25 11:44:25 EDT 1991:
+  libf77: s_rnge: declare line long int rather than int.
+
+Fri May 31 07:51:50 EDT 1991:
+  libf77: system_: officially return status.
+
+Mon Jun 17 16:52:53 EDT 1991:
+  Minor tweaks: omit unnecessary declaration of strcmp (that caused
+trouble on a system where strcmp was a macro) from misc.c; add
+SHELL = /bin/sh to makefiles.
+  Fix a dereference of null when a CHARACTER*(*) declaration appears
+(illegally) after DATA.  Complain only once per subroutine about
+declarations appearing after DATA.
+
+Mon Jul  1 00:28:13 EDT 1991:
+  Add test and error message for illegal use of subroutine names, e.g.
+      SUBROUTINE ZAP(A)
+      ZAP = A
+      END
+
+Mon Jul  8 21:49:20 EDT 1991:
+  Issue a warning about things like
+       integer i
+       i = 'abc'
+(which is treated as i = ichar('a')).  [It might be nice to treat 'abc'
+as an integer initialized (in a DATA statement) with 'abc', but
+other matters have higher priority.]
+  Render
+       i = ichar('A')
+as
+       i = 'A';
+rather than
+       i = 65;
+(which assumes ASCII).
+
+Fri Jul 12 07:41:30 EDT 1991:
+  Note added to README about erroneous definitions of __STDC__ .
+
+Sat Jul 13 13:38:54 EDT 1991:
+  Fix bugs in double type convesions of complex values, e.g.
+sngl(real(...)) or dble(real(...)) (where ... is complex).
+
+Mon Jul 15 13:21:42 EDT 1991:
+  Fix bug introduced 8 July 1991 that caused erroneous warnings
+"ichar([first char. of] char. string) assumed for conversion to numeric"
+when a subroutine had an array of character strings as an argument.
+
+Wed Aug 28 01:12:17 EDT 1991:
+  Omit an unused function in format.c, an unused variable in proc.c .
+  Under -r8, promote complex to double complex (as the man page claims).
+
+Fri Aug 30 17:19:17 EDT 1991:
+  f2c.ps updated: slightly expand description of intrinsics and,or,xor,
+not; add mention of intrinsics lshift, rshift; add note about f2c
+accepting Fortran 90 inline comments (starting with !); update Cobalt
+Blue address.
+
+Tue Sep 17 07:17:33 EDT 1991:
+  libI77: err.c and open.c modified to use modes "rb" and "wb"
+when (f)opening unformatted files; README updated to point out
+that it may be necessary to change these modes to "r" and "w"
+on some non-ANSI systems.
+
+Tue Oct 15 10:25:49 EDT 1991:
+  Minor tweaks that make some PC compilers happier: insert some
+casts, add args to signal functions.
+  Change -g to emit uncommented #line lines -- and to emit more of them;
+update fc, f2c.1, f2c.1t, f2c.ps to reflect this.
+  Change uchar to Uchar in xsum.c .
+  Bring gram.c up to date.
+
+Thu Oct 17 09:22:05 EDT 1991:
+  libi77: README, fio.h, sue.c, uio.c changed so the length field
+in unformatted sequential records has type long rather than int
+(unless UIOLEN_int is #defined).  This is for systems where sizeof(int)
+can vary, depending on the compiler or compiler options.
+
+Thu Oct 17 13:42:59 EDT 1991:
+  libi77: inquire.c: when MSDOS is defined, don't strcmp units[i].ufnm
+when it is NULL.
+
+Fri Oct 18 15:16:00 EDT 1991:
+  Correct xsum0.out in "all from f2c/src" (somehow botched on 15 Oct.).
+
+Tue Oct 22 18:12:56 EDT 1991:
+  Fix memory fault when a character*(*) argument is used (illegally)
+as a dummy variable in the definition of a statement function.  (The
+memory fault occurred when the statement function was invoked.)
+  Complain about implicit character*(*).
+
+Thu Nov 14 08:50:42 EST 1991:
+  libi77: change uint to Uint in fmt.h, rdfmt.c, wrtfmt.c; this change
+should be invisible unless you're running a brain-damaged system.
+
+Mon Nov 25 19:04:40 EST 1991:
+  libi77: correct botches introduced 17 Oct. 1991 and 14 Nov. 1991
+(change uint to Uint in lwrite.c; other changes that only matter if
+sizeof(int) != sizeof(long)).
+  Add a more meaningful error message when bailing out due to an attempt
+to invoke a COMMON variable as a function.
+
+Sun Dec  1 19:29:24 EST 1991:
+  libi77: uio.c: add test for read failure (seq. unformatted reads);
+adjust an error return from EOF to off end of record.
+
+Tue Dec 10 17:42:28 EST 1991:
+  Add tests to prevent memory faults with bad uses of character*(*).
+
+Thu Dec 12 11:24:41 EST 1991:
+  libi77: fix bug with internal list input that caused the last
+character of each record to be ignored; adjust error message in
+internal formatted input from "end-of-file" to "off end of record"
+if the format specifies more characters than the record contains.
+
+Wed Dec 18 17:48:11 EST 1991:
+  Fix bug in translating nonsensical ichar invocations involving
+concatenations.
+  Fix bug in passing intrinsics lle, llt, lge, lgt as arguments;
+hl_le was being passed rather than l_le, etc.
+  libf77: adjust length parameters from long to ftnlen, for
+compiling with f2c_i2 defined.
+
+Sat Dec 21 15:30:57 EST 1991:
+  Allow DO nnn ... to end with an END DO statement labelled nnn.
+
+Tue Dec 31 13:53:47 EST 1991:
+  Fix bug in handling dimension a(n**3,2) -- pow_ii was called
+incorrectly.
+  Fix bug in translating
+       subroutine x(abc,n)
+       character abc(n)
+       write(abc,'(i10)') 123
+       end
+(omitted declaration and initialiation of abc_dim1).
+  Complain about dimension expressions of such invalid types
+as complex and logical.
+
+Fri Jan 17 11:54:20 EST 1992:
+  Diagnose some illegal uses of main program name (rather than
+memory faulting).
+  libi77:  (1) In list and namelist input, treat "r* ," and "r*,"
+alike (where r is a positive integer constant), and fix a bug in
+handling null values following items with repeat counts (e.g.,
+2*1,,3).  (2) For namelist reading of a numeric array, allow a new
+name-value subsequence to terminate the current one (as though the
+current one ended with the right number of null values).
+(3) [lio.h, lwrite.c]:  omit insignificant zeros in list and namelist
+output.  (Compile with -DOld_list_output to get the old behavior.)
+
+Sat Jan 18 15:58:01 EST 1992:
+  libi77:  make list output consistent with F format by printing .1
+rather than 0.1 (introduced yesterday).
+
+Wed Jan 22 08:32:43 EST 1992:
+  libi77:  add comment to README pointing out preconnection of
+Fortran units 5, 6, 0 to stdin, stdout, stderr (respectively).
+
+Mon Feb  3 11:57:53 EST 1992:
+  libi77:  fix namelist read bug that caused the character following
+a comma to be ignored.
+
+Fri Feb 28 01:04:26 EST 1992:
+  libf77:  fix buggy z_sqrt.c (double precision square root), which
+misbehaved for arguments in the southwest quadrant.
+
+Thu Mar 19 15:05:18 EST 1992:
+  Fix bug (introduced 17 Jan 1992) in handling multiple entry points
+of differing types (with implicitly typed entries appearing after
+the first executable statement).
+  Fix memory fault in the following illegal Fortran:
+        double precision foo(i)
+*      illegal: above should be "double precision function foo(i)"
+        foo = i * 3.2
+        entry moo(i)
+        end
+  Note about ANSI_Libraries (relevant, e.g., to IRIX 4.0.1 and AIX)
+added to README.
+  Abort zero divides during constant simplification.
+
+Sat Mar 21 01:27:09 EST 1992:
+  Tweak ckalloc (misc.c) for systems where malloc(0) = 0; this matters
+for subroutines with multiple entry points but no arguments.
+  Add "struct memblock;" to init.c (irrelevant to most compilers).
+
+Wed Mar 25 13:31:05 EST 1992:
+  Fix bug with IMPLICIT INTEGER*4(...): under -i2 or -I2, the *4 was
+ignored.
+
+Tue May  5 09:53:55 EDT 1992:
+  Tweaks to README; e.g., ANSI_LIbraries changed to ANSI_Libraries .
+
+Wed May  6 23:49:07 EDT 1992
+  Under -A and -C++, have subroutines return 0 (even if they have
+no * arguments).
+  Adjust libi77 (rsne.c and lread.c) for systems where ungetc is
+a macro.  Tweak lib[FI]77/makefile to use unique intermediate file
+names (for parallel makes).
+
+Tue May 19 09:03:05 EDT 1992:
+  Adjust libI77 to make err= work with internal list and formatted I/O.
+
+Sat May 23 18:17:42 EDT 1992:
+  Under -A and -C++, supply "return 0;" after the code generated for
+a STOP statement -- the C compiler doesn't know that s_stop won't
+return.
+  New (mutually exclusive) options:
+       -f      treats all input lines as free-format lines,
+               honoring text that appears after column 72
+               and not padding lines shorter than 72 characters
+               with blanks (which matters if a character string
+               is continued across 2 or more lines).
+       -72     treats text appearing after column 72 as an error.
+
+Sun May 24 09:45:37 EDT 1992:
+  Tweak description of -f in f2c.1 and f2c.1t; update f2c.ps .
+
+Fri May 29 01:17:15 EDT 1992:
+  Complain about externals used as variables.  Example
+       subroutine foo(a,b)
+       external b
+       a = a*b         ! illegal use of b; perhaps should be b()
+       end
+
+Mon Jun 15 11:15:27 EDT 1992:
+  Fix bug in handling namelists with names that have underscores.
+
+Sat Jun 27 17:30:59 EDT 1992:
+  Under -A and -C++, end Main program aliases with "return 0;".
+  Under -A and -C++, use .P files and usage in previous subprograms
+in the current file to give prototypes for functions declared EXTERNAL
+but not invoked.
+  Fix memory fault under -d1 -P .
+  Under -A and -C++, cast arguments to the right types in calling
+a function that has been defined in the current file or in a .P file.
+  Fix bug in handling multi-dimensional arrays with array references
+in their leading dimensions.
+  Fix bug in the intrinsic cmplx function when the first argument
+involves an expression for which f2c generates temporary variables,
+e.g. cmplx(abs(real(a)),1.) .
+
+Sat Jul 18 07:36:58 EDT 1992:
+  Fix buglet with -e1c (invisible on most systems) temporary file
+f2c_functions was unlinked before being closed.
+  libf77: fix bugs in evaluating m**n for integer n < 0 and m an
+integer different from 1 or a real or double precision 0.
+Catch SIGTRAP (to print "Trace trap" before aborting).  Programs
+that previously erroneously computed 1 for 0**-1 may now fault.
+Relevant routines: main.c pow_di.c pow_hh.c pow_ii.c pow_ri.c .
+
+Sat Jul 18 08:40:10 EDT 1992:
+  libi77: allow namelist input to end with & (e.g. &end).
+
+Thu Jul 23 00:14:43 EDT 1992
+  Append two underscores rather than one to C keywords used as
+local variables to avoid conflicts with similarly named COMMON blocks.
+
+Thu Jul 23 11:20:55 EDT 1992:
+  libf77, libi77 updated to assume ANSI prototypes unless KR_headers
+is #defined.
+  libi77 now recognizes a Z format item as in Fortran 90;
+the implementation assumes 8-bit bytes and botches character strings
+on little-endian machines (by printing their bytes from right to
+left): expect this bug to persist; fixing it would require a
+change to the I/O calling sequences.
+
+Tue Jul 28 15:18:33 EDT 1992:
+  libi77: insert missed "#ifdef KR_headers" lines around getnum
+header in rsne.c.  Version not updated.
+
+NOTE: "index from f2c" now ends with current timestamps of files in
+"all from f2c/src", sorted by time.  To bring your source up to date,
+obtain source files with a timestamp later than the time shown in your
+version.c.
+
+Fri Aug 14 08:07:09 EDT 1992:
+  libi77: tweak wrt_E in wref.c to avoid signing NaNs.
+
+Sun Aug 23 19:05:22 EDT 1992:
+  fc: supply : after O in getopt invocation (for -O1 -O2 -O3).
+
+Mon Aug 24 18:37:59 EDT 1992:
+  Recant above tweak to fc: getopt is dumber than I thought;
+it's necessary to say -O 1 (etc.).
+  libF77/README: add comments about ABORT, ERF, DERF, ERFC, DERFC,
+GETARG, GETENV, IARGC, SIGNAL, and SYSTEM.
+
+Tue Oct 27 01:57:42 EST 1992:
+  libf77, libi77:
+    1.  Fix botched indirection in signal_.c.
+    2.  Supply missing l_eof = 0 assignment to s_rsne() in rsne.c (so
+end-of-file on other files won't confuse namelist reads of external
+files).
+    3.  Prepend f__ to external names that are only of internal
+interest to lib[FI]77.
+
+Thu Oct 29 12:37:18 EST 1992:
+  libf77: Fix botch in signal_.c when KR_headers is #defined;
+add CFLAGS to makefile.
+  libi77: trivial change to makefile for consistency with
+libF77/makefile.
+
+Wed Feb  3 02:05:16 EST 1993:
+  Recognize types INTEGER*1, LOGICAL*1, LOGICAL*2, INTEGER*8.
+INTEGER*8 is not well tested and will only work reasonably on
+systems where int = 4 bytes, long = 8 bytes; on such systems,
+you'll have to modify f2c.h appropriately, changing integer
+from long to int and adding typedef long longint.  You'll also
+have to compile libI77 with Allow_TYQUAD #defined and adjust
+libF77/makefile to compile pow_qq.c.  In the f2c source, changes
+for INTEGER*8 are delimited by #ifdef TYQUAD ... #endif.  You
+can omit the INTEGER*8 changes by compiling with NO_TYQUAD
+#defined.  Otherwise, the new command-line option -!i8
+disables recognition of INTEGER*8.
+  libf77: add pow_qq.c
+  libi77: add #ifdef Allow_TYQUAD stuff.  Changes for INTEGER*1,
+LOGICAL*1, and LOGICAL*2 came last 23 July 1992.  Fix bug in
+backspace (that only bit when the last character of the second
+or subsequent buffer read was the previous newline).  Guard
+against L_tmpnam being too small in endfile.c.  For MSDOS,
+close and reopen files when copying to truncate.  Lengthen
+LINTW (buffer size in lwrite.c).
+  Add \ to the end of #define lines that get broken.
+  Fix bug in handling NAMELIST of items in EQUIVALENCE.
+  Under -h (or -hd), convert Hollerith to integer in general expressions
+(e.g., assignments), not just when they're passed as arguments, and
+blank-pad rather than 0-pad the Hollerith to a multiple of
+sizeof(integer) or sizeof(doublereal).
+  Add command-line option -s, which instructs f2c preserve multi-
+dimensional subscripts (by emitting and using appropriate #defines).
+  Fix glitch (with default type inferences) in examples like
+       call foo('abc')
+       end
+       subroutine foo(goo)
+       end
+This gave two warning messages:
+       Warning on line 4 of y.f: inconsistent calling sequences for foo:
+               here 1, previously 2 args and string lengths.
+       Warning on line 4 of y.f: inconsistent calling sequences for foo:
+               here 2, previously 1 args and string lengths.
+Now the second Warning is suppressed.
+  Complain about all inconsistent arguments, not just the first.
+  Switch to automatic creation of "all from f2c/src".  For folks
+getting f2c source via ftp, this means f2c/src/all.Z is now an
+empty file rather than a bundle.
+  Separate -P and -A: -P no longer implies -A.
+
+Thu Feb  4 00:32:20 EST 1993:
+  Fix some glitches (introduced yesterday) with -h .
+
+Fri Feb  5 01:40:38 EST 1993:
+  Fix bug in types conveyed for namelists (introduced 3 Feb. 1993).
+
+Fri Feb  5 21:26:43 EST 1993:
+  libi77: tweaks to NAMELIST and open (after comments by Harold
+Youngren):
+ 1. Reading a ? instead of &name (the start of a namelist) causes
+    the namelist being sought to be written to stdout (unit 6);
+    to omit this feature, compile rsne.c with -DNo_Namelist_Questions.
+ 2. Reading the wrong namelist name now leads to an error message
+    and an attempt to skip input until the right namelist name is found;
+    to omit this feature, compile rsne.c with -DNo_Bad_Namelist_Skip.
+ 3. Namelist writes now insert newlines before each variable; to omit
+    this feature, compile xwsne.c with -DNo_Extra_Namelist_Newlines.
+ 4. For OPEN of sequential files, ACCESS='APPEND' (or
+    access='anything else starting with "A" or "a"') causes the file to
+    be positioned at end-of-file, so a write will append to the file.
+    (This is nonstandard, but does not require modifying data
+    structures.)
+
+Mon Feb  8 14:40:37 EST 1993:
+  Increase number of continuation lines allowed from 19 to 99,
+and allow changing this limit with -NC (e.g. -NC200 for 200 lines).
+  Treat control-Z (at the beginning of a line) as end-of-file: see
+the new penultimate paragraph of README.
+  Fix a rarely seen glitch that could make an error messages to say
+"line 0".
+
+Tue Feb  9 02:05:40 EST 1993
+  libi77: change some #ifdef MSDOS lines to #ifdef NON_UNIX_STDIO,
+and, in err.c under NON_UNIX_STDIO, avoid close(creat(name,0666))
+when the unit has another file descriptor for name.
+
+Tue Feb  9 17:12:49 EST 1993
+  libi77: more tweaks for NON_UNIX_STDIO: use stdio routines
+rather than open, close, creat, seek, fdopen (except for f__isdev).
+
+Fri Feb 12 15:49:33 EST 1993
+  Update src/gram.c (which was forgotten in the recent updates).
+Most folks regenerate it anyway (wity yacc or bison).
+
+Thu Mar  4 17:07:38 EST 1993
+  Increase default max labels in computed gotos and alternate returns
+to 257, and allow -Nl1234 to specify this number.
+  Tweak put.c to check p->tag == TADDR in realpart() and imagpart().
+  Adjust fc script to allow .r (RATFOR) files and -C (check subscripts).
+  Avoid declaring strchr in niceprintf.c under -DANSI_Libraries .
+  gram.c updated again.
+  libi77: err.c, open.c: take declaration of fdopen from rawio.h.
+
+Sat Mar  6 07:09:11 EST 1993
+  libi77: uio.c: adjust off-end-of-record test for sequential
+unformatted reads to respond to err= rather than end= .
+
+Sat Mar  6 16:12:47 EST 1993
+  Treat scalar arguments of the form (v) and v+0, where v is a variable,
+as expressions: assign to a temporary variable, and pass the latter.
+  gram.c updated.
+
+Mon Mar  8 09:35:38 EST 1993
+  "f2c.h from f2c" updated to add types logical1 and integer1 for
+LOGICAL*1 and INTEGER*1.  ("f2c.h from f2c" is supposed to be the
+same as "f2c.h from f2c/src", which was updated 3 Feb. 1993.)
+
+Mon Mar  8 17:57:55 EST 1993
+  Fix rarely seen bug that could cause strange casts in function
+invocations (revealed by an example with msdos/f2c.exe).
+  msdos/f2cx.exe.Z and msdos/f2c.exe.Z updated (ftp access only).
+
+Fri Mar 12 12:37:01 EST 1993
+  Fix bug with -s in handling subscripts involving min, max, and
+complicated expressions requiring temporaries.
+  Fix bug in handling COMMONs that need padding by a char array.
+  msdos/f2cx.exe.Z and msdos/f2c.exe.Z updated (ftp access only).
+
+Fri Mar 12 17:16:16 EST 1993
+  libf77, libi77: updated for compiling under C++.
+
+Mon Mar 15 16:21:37 EST 1993
+  libi77: more minor tweaks (for -DKR_headers); Version.c not changed.
+
+Thu Mar 18 12:37:30 EST 1993
+  Flag -r (for discarding carriage-returns on systems that end lines
+with carriage-return/newline pairs, e.g. PCs) added to xsum, and
+xsum.c converted to ANSI/ISO syntax (with K&R syntax available with
+-DKR_headers).  [When time permits, the f2c source will undergo a
+similar conversion.]
+  libi77: tweaks to #includes in endfile.c, err.c, open.c, rawio.h;
+Version.c not changed.
+  f2c.ps updated (to pick up revision of 2 Feb. 1993 to f2c.1).
+
+Fri Mar 19 09:19:26 EST 1993
+  libi77: add (char *) casts to malloc and realloc invocations
+in err.c, open.c; Version.c not changed.
+
+Tue Mar 30 07:17:15 EST 1993
+  Fix bug introduced 6 March 1993: possible memory corruption when
+loops in data statements involve constant subscripts, as in
+        DATA (GUNIT(1,I),I=0,14)/15*-1/
+
+Tue Mar 30 16:17:42 EST 1993
+  Fix bug with -s: (floating-point array item)*(complex item)
+generates an _subscr() reference for the floating-point array,
+but a #define for the _subscr() was omitted.
+
+Tue Apr  6 12:11:22 EDT 1993
+  libi77: adjust error returns for formatted inputs to flush the current
+input line when err= is specified.  To restore the old behavior (input
+left mid-line), either adjust the #definition of errfl in fio.h or omit
+the invocation of f__doend in err__fl (in err.c).
+
+Tue Apr  6 13:30:04 EDT 1993
+  Fix bug revealed in
+       subroutine foo(i)
+       call goo(int(i))
+       end
+which now passes a copy of i, rather than i itself.
+
+Sat Apr 17 11:41:02 EDT 1993
+  Adjust appending of underscores to conform with f2c.ps ("A Fortran
+to C Converter"): names that conflict with C keywords or f2c type
+names now have just one underscore appended (rather than two); add
+"integer1", "logical1", "longint" to the keyword list.
+  Append underscores to names that appear in EQUIVALENCE and are
+component names in a structure declared in f2c.h, thus avoiding a
+problem caused by the #defines emitted for equivalences.  Example:
+       complex a
+       equivalence (i,j)
+       a = 1   ! a.i went awry because of #define i
+       j = 2
+       write(*,*) a, i
+       end
+  Adjust line-breaking logic to avoid splitting very long constants
+(and names).  Example:
+       ! The next line starts with tab and thus is a free-format line.
+       a=.012345689012345689012345689012345689012345689012345689012345689012345689
+       end
+  Omit extraneous "return 0;" from entry stubs emitted for multiple
+entry points of type character, complex, or double complex.
+
+Sat Apr 17 14:35:05 EDT 1993
+  Fix bug (introduced 4 Feb.) in separating -P from -A that kept f2c
+from re-reading a .P file written without -A or -C++ describing a
+routine with an external argument.  [See the just-added note about
+separating -P from -A in the changes above for 3 Feb. 1993.]
+  Fix bug (type UNKNOWN for V in the example below) revealed by
+       subroutine a()
+       external c
+       call b(c)
+       end
+       subroutine b(v)
+       end
+
+Sun Apr 18 19:55:26 EDT 1993
+  Fix wrong calling sequence for mem() in yesterday's addition to
+equiv.c .
+
+Wed Apr 21 17:39:46 EDT 1993
+  Fix bug revealed in
+
+      ASSIGN 10 TO L1
+      GO TO 20
+ 10   ASSIGN 30 TO L2
+      STOP 10
+
+ 20   ASSIGN 10 TO L2  ! Bug here because 10 had been assigned
+                       ! to another label, then defined.
+      GO TO L2
+ 30   END
+
+Fri Apr 23 18:38:50 EDT 1993
+  Fix bug with -h revealed in
+       CHARACTER*9 FOO
+       WRITE(FOO,'(I6)') 1
+       WRITE(FOO,'(I6)') 2     ! struct icilist io___3 botched
+       END
+
+Tue Apr 27 16:08:28 EDT 1993
+  Tweak to makefile: remove "size f2c".
+
+Tue May  4 23:48:20 EDT 1993
+  libf77: tweak signal_ line of f2ch.add .
+
+Tue Jun  1 13:47:13 EDT 1993
+  Fix bug introduced 3 Feb. 1993 in handling multiple entry
+points with differing return types -- the postfix array in proc.c
+needed a new entry for integer*8 (which resulted in wrong
+Multitype suffixes for non-integral types).
+  For (default) K&R C, generate VOID rather than int functions for
+functions of Fortran type character, complex, and double complex.
+  msdos/f2cx.exe.Z and msdos/f2c.exe.Z updated (ftp access only).
+
+Tue Jun  1 23:11:15 EDT 1993
+  f2c.h: add Multitype component g and commented type longint.
+  proc.c: omit "return 0;" from stubs for complex and double complex
+entries (when entries have multiple types); add test to avoid memory
+fault with illegal combinations of entry types.
+
+Mon Jun  7 12:00:47 EDT 1993
+  Fix memory fault in
+       common /c/ m
+       integer m(1)
+       data m(1)/1/, m(2)/2/   ! one too many initializers
+       end
+  msdos/f2cx.exe.Z and msdos/f2c.exe.Z updated (ftp access only).
+
+Fri Jun 18 13:55:51 EDT 1993
+  libi77: change type of signal_ in f2ch.add; change type of il in
+union Uint from long to integer (for machines like the DEC Alpha,
+where integer should be the same as int).  Version.c not changed.
+  Tweak gram.dcl and gram.head: add semicolons after some rules that
+lacked them, and remove an extraneous semicolon.  These changes are
+completely transparent to our local yacc programs, but apparently
+matter on some VMS systems.
+
+Wed Jun 23 01:02:56 EDT 1993
+  Update "fc" shell script, and bring f2c.1 and f2c.1t up to date:
+they're meant to be linked with (i.e., the same as) src/f2c.1 and
+src/f2c.1t .  [In the last update of f2c.1* (2 Feb. 1993), only
+src/f2c.1 and src/f2c.1t got changed -- a mistake.]
+
+Wed Jun 23 09:04:31 EDT 1993
+  libi77: fix bug in format reversions for internal writes.
+Example:
+       character*60 lines(2)
+       write(lines,"('n =',i3,2(' more text',i3))") 3, 4, 5, 6
+       write(*,*) 'lines(1) = ', lines(1)
+       write(*,*) 'lines(2) = ', lines(2)
+       end
+gave an error message that began "iio: off end of record", rather
+than giving the correct output:
+
+ lines(1) = n =  3 more text  4 more text  5
+ lines(2) =  more text  6 more text
+
+Thu Aug  5 11:31:14 EDT 1993
+  libi77: lread.c: fix bug in handling repetition counts for logical
+data (during list or namelist input).  Change struct f__syl to
+struct syl (for buggy compilers).
+
+Sat Aug  7 16:05:30 EDT 1993
+  libi77: lread.c (again): fix bug in namelist reading of incomplete
+logical arrays.
+  Fix minor calling-sequence errors in format.c, output.c, putpcc.c:
+should be invisible.
+
+Mon Aug  9 09:12:38 EDT 1993
+  Fix erroneous cast under -A in translating
+       character*(*) function getc()
+       getc(2:3)=' '           !wrong cast in first arg to s_copy
+       end
+  libi77: lread.c: fix bug in namelist reading of an incomplete array
+of numeric data followed by another namelist item whose name starts
+with 'd', 'D', 'e', or 'E'.
+
+Fri Aug 20 13:22:10 EDT 1993
+  Fix bug in do while revealed by
+       subroutine skdig (line, i)
+       character line*(*), ch*1
+       integer i
+       logical isdigit
+       isdigit(ch) = ch.ge.'0' .and. ch.le.'9'
+       do while (isdigit(line(i:i)))   ! ch__1[0] was set before
+                                       ! "while(...) {...}"
+               i = i + 1
+               enddo
+       end
+
+Fri Aug 27 08:22:54 EDT 1993
+  Add #ifdefs to avoid declaring atol when it is a macro; version.c
+not updated.
+
+Wed Sep  8 12:24:26 EDT 1993
+  libi77: open.c: protect #include "sys/..." with
+#ifndef NON_UNIX_STDIO; Version date not changed.
+
+Thu Sep  9 08:51:21 EDT 1993
+  Adjust "include" to interpret file names relative to the directory
+of the file that contains the "include".
+
+Fri Sep 24 00:56:12 EDT 1993
+  Fix offset error resulting from repeating the same equivalence
+statement twice.  Example:
+       real a(2), b(2)
+       equivalence (a(2), b(2))
+       equivalence (a(2), b(2))
+       end
+  Increase MAXTOKENLEN (to roughly the largest allowed by ANSI C).
+
+Mon Sep 27 08:55:09 EDT 1993
+  libi77: endfile.c: protect #include "sys/types.h" with
+#ifndef NON_UNIX_STDIO; Version.c not changed.
+
+Fri Oct 15 15:37:26 EDT 1993
+  Fix rarely seen parsing bug illustrated by
+       subroutine foo(xabcdefghij)
+       character*(*) xabcdefghij
+               IF (xabcdefghij.NE.'##') GOTO 40
+ 40    end
+in which the spacing in the IF line is crucial.
+
+Thu Oct 21 13:55:11 EDT 1993
+  Give more meaningful error message (then "unexpected character in
+cds") when constant simplification leads to Infinity or NaN.
+
+Wed Nov 10 15:01:05 EST 1993
+  libi77: backspace.c: adjust, under -DMSDOS, to cope with MSDOS
+text files, as handled by some popular PC C compilers.  Beware:
+the (defective) libraries associated with these compilers assume lines
+end with \r\n (conventional MS-DOS text files) -- and ftell (and
+hence the current implementation of backspace) screws up if lines with
+just \n.
+
+Thu Nov 18 09:37:47 EST 1993
+  Give a better error (than "control stack empty") for an extraneous
+ENDDO.  Example:
+       enddo
+       end
+  Update comments about ftp in "readme from f2c".
+
+Sun Nov 28 17:26:50 EST 1993
+  Change format of time stamp in version.c to yyyymmdd.
+  Sort parameter adjustments (or complain of impossible dependencies)
+so that dummy arguments are referenced only after being adjusted.
+Example:
+       subroutine foo(a,b)
+       integer a(2)            ! a must be adjusted before b
+       double precision b(a(1),a(2))
+       call goo(b(3,4))
+       end
+  Adjust structs for initialized common blocks and equivalence classes
+to omit the trailing struct component added to force alignment when
+padding already forces the desired alignment.  Example:
+       PROGRAM TEST
+       COMMON /Z/ A, CC
+       CHARACTER*4 CC
+       DATA cc /'a'/
+       END
+now gives
+       struct {
+           integer fill_1[1];
+           char e_2[4];
+           } z_ = { {0}, {'a', ' ', ' ', ' '} };
+rather than
+struct {
+    integer fill_1[1];
+    char e_2[4];
+    real e_3;
+    } z_ = { {0}, {'a', ' ', ' ', ' '}, (float)0. };
+
+Wed Dec  8 16:24:43 EST 1993
+  Adjust lex.c to recognize # nnn "filename" lines emitted by cpp;
+this affects the file names and line numbers in error messages and
+the #line lines emitted under -g.
+  Under -g, arrange for a file that starts with an executable
+statement to have the first #line line indicate line 1, rather
+than the line number of the END statement ending the main program.
+  Adjust fc script to run files ending in .F through /lib/cpp.
+  Fix bug ("Impossible tag 2") in
+       if (t .eq. (0,2)) write(*,*) 'Bug!'
+       end
+  libi77: iio.c: adjust internal formatted reads to treat short records
+as though padded with blanks (rather than causing an "off end of record"
+error).
+
+Wed Dec 15 15:19:15 EST 1993
+  fc: adjusted for .F files to pass -D and -I options to cpp.
+
+Fri Dec 17 20:03:38 EST 1993
+  Fix botch introduced 28 Nov. 1993 in vax.c; change "version of"
+to "version".
+
+Tue Jan  4 15:39:52 EST 1994
+  msdos/f2cx.exe.Z and msdos/f2c.exe.Z updated (ftp access only).
+
+Wed Jan 19 08:55:19 EST 1994
+  Arrange to accept
+       integer Nx, Ny, Nz
+       parameter       (Nx = 10, Ny = 20)
+       parameter       (Nz = max(Nx, Ny))
+       integer c(Nz)
+       call foo(c)
+       end
+rather than complaining "Declaration error for c: adjustable dimension
+on non-argument".  The necessary changes cause some hitherto unfolded
+constant expressions to be folded.
+  Accept BYTE as a synonym for INTEGER*1.
+
+Thu Jan 27 08:57:40 EST 1994
+  Fix botch in changes of 19 Jan. 1994 that broke entry points with
+multi-dimensional array arguments that did not appear in the subprogram
+argument list and whose leading dimensions depend on arguments.
+
+Mon Feb  7 09:24:30 EST 1994
+  Remove artifact in "fc" script that caused -O to be ignored:
+       87c87
+       <               # lcc ignores -O...
+       ---
+       >               CFLAGS="$CFLAGS $O"
+
+Sun Feb 20 17:04:58 EST 1994
+  Fix bugs reading .P files for routines with arguments of type
+INTEGER*1, INTEGER*8, LOGICAL*2.
+  Fix glitch in reporting inconsistent arguments for routines involving
+character arguments:  "arg n" had n too large by the number of
+character arguments.
+
+Tue Feb 22 20:50:08 EST 1994
+  Trivial changes to data.c format.c main.c niceprintf.c output.h and
+sysdep.h (consistency improvements).
+  libI77: lread.c: check for NULL return from realloc.
+
+Fri Feb 25 23:56:08 EST 1994
+  output.c, sysdep.h: arrange for -DUSE_DTOA to use dtoa.c and g_fmt.c
+for correctly rounded decimal values on IEEE-arithmetic machines
+(plus machines with VAX and IBM-mainframe arithmetic).  These
+routines are available from netlib's fp directory.
+  msdos/f2cx.exe.Z and msdos/f2c.exe.Z updated (ftp access only); the
+former uses -DUSE_DTOA to keep 12 from printing as 12.000000000000001.
+  vax.c: fix wrong arguments to badtag and frchain introduced
+28 Nov. 1993.
+  Source for f2c converted to ANSI/ISO format, with the K&R format
+available by compilation with -DKR_headers .
+  Arrange for (double precision expression) relop (single precision
+constant) to retain the single-precision nature of the constant.
+Example:
+       double precision t
+       if (t .eq. 0.3) ...
+
+Mon Feb 28 11:40:24 EST 1994
+  README updated to reflect a modification just made to netlib's
+"dtoa.c from fp":
+96a97,105
+> Also add the rule
+>
+>      dtoa.o: dtoa.c
+>              $(CC) -c $(CFLAGS) -DMALLOC=ckalloc -DIEEE... dtoa.c
+>
+> (without the initial tab) to the makefile, where IEEE... is one of
+> IEEE_MC68k, IEEE_8087, VAX, or IBM, depending on your machine's
+> arithmetic.  See the comments near the start of dtoa.c.
+>
+
+Sat Mar  5 09:41:52 EST 1994
+  Complain about functions with the name of a previously declared
+common block (which is illegal).
+  New option -d specifies the directory for output .c and .P files;
+f2c.1 and f2c.1t updated.  The former undocumented debug option -dnnn
+is now -Dnnn.
+
+Thu Mar 10 10:21:44 EST 1994
+  libf77: add #undef min and #undef max lines to s_paus.c s_stop.c
+and system_.c; Version.c not changed.
+  libi77: add -DPad_UDread lines to uio.c and explanation to README:
+    Some buggy Fortran programs use unformatted direct I/O to write
+    an incomplete record and later read more from that record than
+    they have written.  For records other than the last, the unwritten
+    portion of the record reads as binary zeros.  The last record is
+    a special case: attempting to read more from it than was written
+    gives end-of-file -- which may help one find a bug.  Some other
+    Fortran I/O libraries treat the last record no differently than
+    others and thus give no help in finding the bug of reading more
+    than was written.  If you wish to have this behavior, compile
+    uio.c with -DPad_UDread .
+Version.c not changed.
+
+Tue Mar 29 17:27:54 EST 1994
+  Adjust make_param so dimensions involving min, max, and other
+complicated constant expressions do not provoke error messages
+about adjustable dimensions on non-arguments.
+  Fix botch introduced 19 Jan 1994: "adjustable dimension on non-
+argument" messages could cause some things to be freed twice.
+
+Tue May 10 07:55:12 EDT 1994
+  Trivial changes to exec.c, p1output.c, parse_args.c, proc.c,
+and putpcc.c: change arguments from
+       type foo[]
+to
+       type *foo
+for consistency with defs.h.  For most compilers, this makes no
+difference.
+
+Thu Jun  2 12:18:18 EDT 1994
+  Fix bug in handling FORMAT statements that have adjacent character
+(or Hollerith) strings: an extraneous \002 appeared between the
+strings.
+  libf77: under -DNO_ONEXIT, arrange for f_exit to be called just
+once; previously, upon abnormal termination (including stop statements),
+it was called twice.
+
+Mon Jun  6 15:52:57 EDT 1994
+  libf77: Avoid references to SIGABRT and SIGIOT if neither is defined;
+Version.c not changed.
+  libi77: Add cast to definition of errfl() in fio.h; this only matters
+on systems with sizeof(int) < sizeof(long).  Under -DNON_UNIX_STDIO,
+use binary mode for direct formatted files (to avoid any confusion
+connected with \n characters).
+
+Fri Jun 10 16:47:31 EDT 1994
+  Fix bug under -A in handling unreferenced (and undeclared)
+external arguments in subroutines with multiple entry points.  Example:
+       subroutine m(fcn,futil)
+       external fcn,futil
+       call fcn
+       entry mintio(i1) ! (D_fp)0 rather than (U_fp)0 for futil
+       end
+
+Wed Jun 15 10:38:14 EDT 1994
+  Allow char(constant expression) function in parameter declarations.
+(This was probably broken in the changes of 29 March 1994.)
+
+Fri Jul  1 23:54:00 EDT 1994
+  Minor adjustments to makefile (rule for f2c.1 commented out) and
+sysdep.h (#undef KR_headers if __STDC__ is #defined, and base test
+for ANSI_Libraries and ANSI_Prototypes on KR_headers rather than
+__STDC__); version.c touched but not changed.
+  libi77: adjust fp.h so local.h is only needed under -DV10;
+Version.c not changed.
+
+Tue Jul  5 03:05:46 EDT 1994
+  Fix segmentation fault in
+       subroutine foo(a,b,k)
+       data i/1/
+       double precision a(k,1) ! sequence error: must precede data
+       b = a(i,1)
+       end
+  libi77: Fix bug (introduced 6 June 1994?) in reopening files under
+NON_UNIX_STDIO.
+  Fix some error messages caused by illegal Fortran.  Examples:
+* 1.
+       x(i) = 0  !Missing declaration for array x
+       call f(x) !Said Impossible storage class 8 in routine mkaddr
+       end       !Now says invalid use of statement function x
+* 2.
+       f = g   !No declaration for g; by default it's a real variable
+       call g  !Said invalid class code 2 for function g
+       end     !Now says g cannot be called
+* 3.
+       intrinsic foo   !Invalid intrinsic name
+       a = foo(b)      !Said intrcall: bad intrgroup 0
+       end             !Now just complains about line 1
+
+Tue Jul  5 11:14:26 EDT 1994
+  Fix glitch in handling erroneous statement function declarations.
+Example:
+       a(j(i) - i) = a(j(i) - i) + 1   ! bad statement function
+       call foo(a(3))  ! Said Impossible type 0 in routine mktmpn
+       end             ! Now warns that i and j are not used
+
+Wed Jul  6 17:31:25 EDT 1994
+  Tweak test for statement functions that (illegally) call themselves;
+f2c will now proceed to check for other errors, rather than bailing
+out at the first recursive statement function reference.
+  Warn about but retain divisions by 0 (instead of calling them
+"compiler errors" and quiting).  On IEEE machines, this permits
+       double precision nan, ninf, pinf
+       nan = 0.d0/0.d0
+       pinf = 1.d0/0.d0
+       ninf = -1.d0/0.d0
+       write(*,*) 'nan, pinf, ninf = ', nan, pinf, ninf
+       end
+to print
+       nan, pinf, ninf =   NaN  Infinity -Infinity
+  libi77: wref.c: protect with #ifdef GOOD_SPRINTF_EXPONENT an
+optimization that requires exponents to have 2 digits when 2 digits
+suffice.  lwrite.c wsfe.c (list and formatted external output):
+omit ' ' carriage-control when compiled with -DOMIT_BLANK_CC .
+Off-by-one bug fixed in character count for list output of character
+strings.  Omit '.' in list-directed printing of Nan, Infinity.
+
+Mon Jul 11 13:05:33 EDT 1994
+  src/gram.c updated.
+
+Tue Jul 12 10:24:42 EDT 1994
+  libi77: wrtfmt.c: under G11.4, write 0. as "  .0000    " rather
+than "  .0000E+00".
+
+Thu Jul 14 17:55:46 EDT 1994
+  Fix glitch in changes of 6 July 1994 that could cause erroneous
+"division by zero" warnings (or worse).  Example:
+       subroutine foo(a,b)
+       y = b
+       a = a / y       ! erroneous warning of division by zero
+       end
+
+Mon Aug  1 16:45:17 EDT 1994
+  libi77: lread.c rsne.c: for benefit of systems with a buggy stdio.h,
+declare ungetc when neither KR_headers nor ungetc is #defined.
+Version.c not changed.
+
+Wed Aug  3 01:53:00 EDT 1994
+  libi77: lwrite.c (list output): do not insert a newline when
+appending an oversize item to an empty line.
+
+Mon Aug  8 00:51:01 EDT 1994
+  Fix bug (introduced 3 Feb. 1993) that, under -i2, kept LOGICAL*2
+variables from appearing in INQUIRE statements.  Under -I2, allow
+LOGICAL*4 variables to appear in INQUIRE.  Fix intrinsic function
+LEN so it returns a short value under -i2, a long value otherwise.
+  exec.c: fix obscure memory fault possible with bizarre (and highly
+erroneous) DO-loop syntax.
+
+Fri Aug 12 10:45:57 EDT 1994
+  libi77: fix glitch that kept ERR= (in list- or format-directed input)
+from working after a NAMELIST READ.
+
+Thu Aug 25 13:58:26 EDT 1994
+  Suppress -s when -C is specified.
+  Give full pathname (netlib@research.att.com) for netlib in readme and
+src/README.
+
+Wed Sep  7 22:13:20 EDT 1994
+  libi77: typesize.c: adjust to allow types LOGICAL*1, LOGICAL*2,
+INTEGER*1, and (under -DAllow_TYQUAD) INTEGER*8 in NAMELISTs.
+
+Fri Sep 16 17:50:18 EDT 1994
+  Change name adjustment for reserved words: instead of just appending
+"_" (a single underscore), append "_a_" to local variable names to avoid
+trouble when a common block is named a reserved word and the same
+reserved word is also a local variable name.  Example:
+       common /const/ a,b,c
+       real const(3)
+       equivalence (const(1),a)
+       a = 1.234
+       end
+  Arrange for ichar() to treat characters as unsigned.
+  libf77: s_cmp.c: treat characters as unsigned in comparisons.
+These changes for unsignedness only matter for strings that contain
+non-ASCII characters.  Now ichar() should always be >= 0.
+
+Sat Sep 17 11:19:32 EDT 1994
+  fc: set rc=$? before exit (to get exit code right in trap code).
+
+Mon Sep 19 17:49:43 EDT 1994
+  libf77: s_paus.c: flush stderr after PAUSE; add #ifdef MSDOS stuff.
+  libi77: README: point out general need for -DMSDOS under MS-DOS.
+
+Tue Sep 20 11:42:30 EDT 1994
+  Fix bug in comparing identically named common blocks, in which
+all components have the same names and types, but at least one is
+dimensioned (1) and the other is not dimensioned.  Example:
+       subroutine foo
+       common /ab/ a
+       a=1.    !!! translated correctly to ab_1.a = (float)1.;
+       end
+       subroutine goo
+       common /ab/ a(1)
+       a(1)=2. !!! translated erroneously to ab_1.a[0] = (float)2.
+       end
+
+Tue Sep 27 23:47:34 EDT 1994
+  Fix bug introduced 16 Sept. 1994: don't add _a_ to C keywords
+used as external names.  In fact, return to earlier behavior of
+appending __ to C keywords unless they are used as external names,
+in which case they get just one underscore appended.
+  Adjust constant handling so integer and logical PARAMETERs retain
+type information, particularly under -I2.  Example:
+       SUBROUTINE FOO
+       INTEGER I
+       INTEGER*1 I1
+       INTEGER*2 I2
+       INTEGER*4 I4
+       LOGICAL L
+       LOGICAL*1 L1
+       LOGICAL*2 L2
+       LOGICAL*4 L4
+       PARAMETER (L=.FALSE., L1=.FALSE., L2=.FALSE., L4=.FALSE.)
+       PARAMETER (I=0,I1=0,I2=0,I4=0)
+       CALL DUMMY(I, I1, I2, I4, L, L1, L2, L4)
+       END
+  f2c.1t: Change f\^2c to f2c (omit half-narrow space) in line following
+".SH NAME" for benefit of systems that cannot cope with troff commands
+in this context.
+
+Wed Sep 28 12:45:19 EDT 1994
+  libf77: s_cmp.c fix glitch in -DKR_headers version introduced
+12 days ago.
+
+Thu Oct  6 09:46:53 EDT 1994
+  libi77: util.c: omit f__mvgbt (which is never used).
+  f2c.h: change "long" to "long int" to facilitate the adjustments
+by means of sed described above.  Comment out unused typedef of Long.
+
+Fri Oct 21 18:02:24 EDT 1994
+  libf77: add s_catow.c and adjust README to point out that changing
+"s_cat.o" to "s_catow.o" in the makefile will permit the target of a
+concatenation to appear on its right-hand side (contrary to the
+Fortran 77 Standard and at the cost of some run-time efficiency).
+
+Wed Nov  2 00:03:58 EST 1994
+  Adjust -g output to contain only one #line line per statement,
+inserting \ before the \n ending lines broken because of their
+length [this insertion was recanted 10 Dec. 1994].  This change
+accommodates an idiocy in the ANSI/ISO C standard, which leaves
+undefined the behavior of #line lines that occur within the arguments
+to a macro call.
+
+Wed Nov  2 14:44:27 EST 1994
+  libi77: under compilation with -DALWAYS_FLUSH, flush buffers at
+the end of each write statement, and test (via the return from
+fflush) for write failures, which can be caught with an ERR=
+specifier in the write statement.  This extra flushing slows
+execution, but can abort execution or alter the flow of control
+when a disk fills up.
+  f2c/src/io.c: Add ERR= test to e_wsle invocation (end of
+list-directed external output) to catch write failures when libI77
+is compiled with -DALWAYS_FLUSH.
+
+Thu Nov  3 10:59:13 EST 1994
+  Fix bug in handling dimensions involving certain intrinsic
+functions of constant expressions: the expressions, rather than
+pointers to them, were passed.  Example:
+      subroutine subtest(n,x)
+      real x(2**n,n) ! pow_ii(2,n) was called; now it's pow_ii(&c__2,n)
+      x(2,2)=3.
+      end
+
+Tue Nov  8 23:56:30 EST 1994
+  malloc.c: remove assumption that only malloc calls sbrk.  This
+appears to make malloc.c useful on RS6000 systems.
+
+Sun Nov 13 13:09:38 EST 1994
+  Turn off constant folding of integers used in floating-point
+expressions, so the assignment in
+       subroutine foo(x)
+       double precision x
+       x = x*1000000*500000
+       end
+is rendered as
+       *x = *x * 1000000 * 500000;
+rather than as
+       *x *= 1783793664;
+
+Sat Dec 10 16:31:40 EST 1994
+  Supply a better error message (than "Impossible type 14") for
+       subroutine foo
+       foo = 3
+       end
+  Under -g, convey name of included files to #line lines.
+  Recant insertion of \ introduced (under -g) 2 Nov. 1994.
+
+Thu Dec 15 14:33:55 EST 1994
+  New command-line option -Idir specifies directories in which to
+look for non-absolute include files (after looking in the directory
+of the current input file).  There can be several -Idir options, each
+specifying one directory.  All -Idir options are considered, from
+left to right, until a suitably named file is found.  The -I2 and -I4
+command-line options have precedence, so directories named 2 or 4
+must be spelled by some circumlocation, such as -I./2 .
+  f2c.ps updated to mention the new -Idir option, correct a typo,
+and bring the man page at the end up to date.
+  lex.c: fix bug in reading line numbers in #line lines.
+  fc updated to pass -Idir options to f2c.
+
+Thu Dec 29 09:48:03 EST 1994
+  Fix bug (e.g., addressing fault) in diagnosing inconsistency in
+the type of function eta in the following example:
+       function foo(c1,c2)
+       double complex foo,c1,c2
+       double precision eta
+       foo = eta(c1,c2)
+       end
+       function eta(c1,c2)
+       double complex eta,c1,c2
+       eta = c1*c2
+       end
+
+Mon Jan  2 13:27:26 EST 1995
+  Retain casts for SNGL (or FLOAT) that were erroneously optimized
+away.  Example:
+       subroutine foo(a,b)
+       double precision a,b
+       a = float(b)    ! now rendered as *a = (real) (*b);
+       end
+  Use float (rather than double) temporaries in certain expressions
+of type complex.  Example: the temporary for sngl(b) in
+       complex a
+       double precision b
+       a = sngl(b) - (3.,4.)
+is now of type float.
+
+Fri Jan  6 00:00:27 EST 1995
+  Adjust intrinsic function cmplx to act as dcmplx (returning
+double complex rather than complex) if either of its args is of
+type double precision.  The double temporaries used prior to 2 Jan.
+1995 previously gave it this same behavior.
+
+Thu Jan 12 12:31:35 EST 1995
+  Adjust -krd to use double temporaries in some calculations of
+type complex.
+  libf77: pow_[dhiqrz][hiq].c: adjust x**i to work on machines
+that sign-extend right shifts when i is the most negative integer.
+
+Wed Jan 25 00:14:42 EST 1995
+  Fix memory fault in handling overlapping initializations in
+       block data
+       common /zot/ d
+       double precision d(3)
+       character*6 v(4)
+       real r(2)
+       equivalence (d(3),r(1)), (d(1),v(1))
+       data v/'abcdef', 'ghijkl', 'mnopqr', 'stuvwx'/
+       data r/4.,5./
+       end
+  names.c: add "far", "huge", "near" to c_keywords (causing them
+to have __ appended when used as local variables).
+  libf77: add s_copyow.c, an alternative to s_copy.c for handling
+(illegal) character assignments where the right- and left-hand
+sides overlap, as in a(2:4) = a(1\1a:3).
+
+Thu Jan 26 14:21:19 EST 1995
+  libf77: roll s_catow.c and s_copyow.c into s_cat.c and s_copy.c,
+respectively, allowing the left-hand side of a character assignment
+to appear on its right-hand side unless s_cat.c and s_copy.c are
+compiled with -DNO_OVERWRITE (which is a bit more efficient).
+Fortran 77 forbids the left-hand side from participating in the
+right-hand side (of a character assignment), but Fortran 90 allows it.
+  libi77: wref.c: fix glitch in printing the exponent of 0 when
+GOOD_SPRINTF_EXPONENT is not #defined.
+
+Fri Jan 27 12:25:41 EST 1995
+  Under -C++ -ec (or -C++ -e1c), surround struct declarations with
+       #ifdef __cplusplus
+       extern "C" {
+       #endif
+and
+       #ifdef __cplusplus
+       }
+       #endif
+(This isn't needed with cfront, but apparently is necessary with
+some other C++ compilers.)
+  libf77: minor tweak to s_copy.c: copy forward whenever possible
+(for better cache behavior).
+
+Wed Feb  1 10:26:12 EST 1995
+  Complain about parameter statements that assign values to dummy
+arguments, as in
+       subroutine foo(x)
+       parameter(x = 3.4)
+       end
+
+Sat Feb  4 20:22:02 EST 1995
+  fc: omit "lib=/lib/num/lib.lo".
+
+Wed Feb  8 08:41:14 EST 1995
+  Minor changes to exec.c, putpcc.c to avoid "bad tag" or "error
+in frexpr" with certain invalid Fortran.
+
+Sat Feb 11 08:57:39 EST 1995
+  Complain about integer overflows, both in simplifying integer
+expressions, and in converting integers from decimal to binary.
+  Fix a memory fault in putcx1() associated with invalid input.
+
+Thu Feb 23 11:20:59 EST 1995
+  Omit MAXTOKENLEN; realloc token if necessary (to handle very long
+strings).
+
+Fri Feb 24 11:02:00 EST 1995
+  libi77: iio.c: z_getc: insert (unsigned char *) to allow internal
+reading of characters with high-bit set (on machines that sign-extend
+characters).
+
+Tue Mar 14 18:22:42 EST 1995
+  Fix glitch (in io.c) in handling 0-length strings in format
+statements, as in
+       write(*,10)
+ 10    format(' ab','','cd')
+  libi77: lread.c and rsfe.c: adjust s_rsle and s_rsfe to check for
+end-of-file (to prevent infinite loops with empty read statements).
+
+Wed Mar 22 10:01:46 EST 1995
+  f2c.ps: adjust discussion of -P on p. 7 to reflect a change made
+3 Feb. 1993: -P no longer implies -A.
+
+Fri Apr 21 18:35:00 EDT 1995
+  fc script: remove absolute paths (since PATH specifies only standard
+places).  On most systems, it's still necessary to adjust the PATH
+assignment at the start of fc to fit the local conventions.
+
+Fri May 26 10:03:17 EDT 1995
+  fc script: add recognition of -P and .P files.
+  libi77: iio.c: z_wnew: fix bug in handling T format items in internal
+writes whose last item is written to an earlier position than some
+previous item.
+
+Wed May 31 11:39:48 EDT 1995
+  libf77: added subroutine exit(rc) (with integer return code rc),
+which works like a stop statement but supplies rc as the program's
+return code.
+
+Fri Jun  2 11:56:50 EDT 1995
+  Fix memory fault in
+       parameter (x=2.)
+       data x /2./
+       end
+This now elicits two error messages; the second ("too many
+initializers"), though not desirable, seems hard to eliminate
+without considerable hassle.
+
+Mon Jul 17 23:24:20 EDT 1995
+  Fix botch in simplifying constants in certain complex
+expressions.  Example:
+       subroutine foo(s,z)
+       double complex z
+       double precision s, M, P
+       parameter ( M = 100.d0, P = 2.d0 )
+       z = M * M  / s  * dcmplx (1.d0, P/M)
+*** The imaginary part of z was miscomputed ***
+       end
+  Under -ext, complain about nonintegral dimensions.
+
+Fri Jul 21 11:18:36 EDT 1995
+  Fix glitch on line 159 of init.c: change
+       "(shortlogical *)0)",
+to
+       "(shortlogical *)0",
+This affects multiple entry points when some but not all have
+arguments of type logical*2.
+  libi77: adjust lwrite.c, wref.c, wrtfmt.c so compiling with
+-DWANT_LEAD_0 causes formatted writes of floating-point numbers of
+magnitude < 1 to have an explicit 0 before the decimal point (if the
+field-width permits it).  Note that the Fortran 77 Standard leaves it
+up to the implementation whether to supply these superfluous zeros.
+
+Tue Aug  1 09:25:56 EDT 1995
+  Permit real (or double precision) parameters in dimension expressions.
+
+Mon Aug  7 08:04:00 EDT 1995
+  Append "_eqv" rather than just "_" to names that that appear in
+EQUIVALENCE statements as well as structs in f2c.h (to avoid a
+conflict when these names also name common blocks).
+
+Tue Aug  8 12:49:02 EDT 1995
+  Modify yesterday's change: merge st_fields with c_keywords, to
+cope with equivalences introduced to permit initializing numeric
+variables with character data.  DATA statements causing these
+equivalences can appear after executable statements, so the only
+safe course is to rename all local variable with names in the
+former st_fields list.  This has the unfortunate side effect that
+the common local variable "i" will henceforth be renamed "i__".
+
+Wed Aug 30 00:19:32 EDT 1995
+  libf77: add F77_aloc, now used in s_cat and system_ (to allocate
+memory and check for failure in so doing).
+  libi77: improve MSDOS logic in backspace.c.
+
+Wed Sep  6 09:06:19 EDT 1995
+  libf77: Fix return type of system_ (integer) under -DKR_headers.
+  libi77: Move some f_init calls around for people who do not use
+libF77's main(); now open and namelist read statements that are the
+first I/O statements executed should work right in that context.
+Adjust namelist input to treat a subscripted name whose subscripts do
+not involve colons similarly to the name without a subscript:  accept
+several values, stored in successive elements starting at the
+indicated subscript.  Adjust namelist output to quote character
+strings (avoiding confusion with arrays of character strings).
+
+Thu Sep  7 00:36:04 EDT 1995
+  Fix glitch in integer*8 exponentiation function: it's pow_qq, not
+pow_qi.
+  libi77: fix some bugs with -DAllow_TYQUAD (for integer*8); when
+looking for the &name that starts NAMELIST input, treat lines whose
+first nonblank character is something other than &, $, or ? as
+comment lines (i.e., ignore them), unless rsne.c is compiled with
+-DNo_Namelist_Comments.
+
+Thu Sep  7 09:05:40 EDT 1995
+  libi77: rdfmt.c:  one more tweak for -DAllow_TYQUAD.
+
+Tue Sep 19 00:03:02 EDT 1995
+  Adjust handling of floating-point subscript bounds (a questionable
+f2c extension) so subscripts in the generated C are of integral type.
+  Move #define of roundup to proc.c (where its use is commented out);
+version.c left at 19950918.
+
+Wed Sep 20 17:24:19 EDT 1995
+  Fix bug in handling ichar() under -h.
+
+Thu Oct  5 07:52:56 EDT 1995
+  libi77: wrtfmt.c: fix bug with t editing (f__cursor was not always
+zeroed in mv_cur).
+
+Tue Oct 10 10:47:54 EDT 1995
+  Under -ext, warn about X**-Y and X**+Y.  Following the original f77,
+f2c treats these as X**(-Y) and X**(+Y), respectively.  (They are not
+allowed by the official Fortran 77 Standard.)  Some Fortran compilers
+give a bizarre interpretation to larger contexts, making multiplication
+noncommutative: they treat X**-Y*Z as X**(-Y*Z) rather than X**(-Y)*Z,
+which, following the rules of Fortran 77, is the same as (X**(-Y))*Z.
+
+Wed Oct 11 13:27:05 EDT 1995
+  libi77: move defs of f__hiwater, f__svic, f__icptr from wrtfmt.c
+to err.c.  This should work around a problem with buggy loaders and
+sometimes leads to smaller executable programs.
+
+Sat Oct 21 23:54:22 EDT 1995
+  Under -h, fix bug in the treatment of ichar('0') in arithmetic
+expressions.
+  Demote to -dneg (a new command-line option not mentioned in the
+man page) imitation of the original f77's treatment of unary minus
+applied to a REAL operand (yielding a DOUBLE PRECISION result).
+Previously this imitation (which was present for debugging) occurred
+under (the default) -!R.  It is still suppressed by -R.
+
+Tue Nov  7 23:52:57 EST 1995
+  Adjust assigned GOTOs to honor SAVE declarations.
+  Add comments about ranlib to lib[FI]77/README and makefile.
+
+Tue Dec 19 22:54:06 EST 1995
+  libf77: s_cat.c: fix bug when 2nd or later arg overlaps lhs.
+
+Tue Jan  2 17:54:00 EST 1996
+  libi77: rdfmt.c: move #include "ctype.h" up before "stdlib.h"; no
+change to Version.c.
+
+Sun Feb 25 22:20:20 EST 1996
+  Adjust expr.c to permit raising the integer constants 1 and -1 to
+negative constant integral powers.
+  Avoid faulting when -T and -d are not followed by a directory name
+(immediately, without intervening spaces).
+
+Wed Feb 28 12:49:01 EST 1996
+  Fix a glitch in handling complex parameters assigned a "wrong" type.
+Example:
+       complex d, z
+       parameter(z = (0d0,0d0))
+       data d/z/       ! elicited "non-constant initializer"
+       call foo(d)
+       end
+
+Thu Feb 29 00:53:12 EST 1996
+  Fix bug in handling character parameters assigned a char() value.
+Example:
+       character*2 b,c
+       character*1 esc
+       parameter(esc = char(27))
+       integer i
+       data (b(i:i),i=1,2)/esc,'a'/
+       data (c(i:i),i=1,2)/esc,'b'/    ! memory fault
+       call foo(b,c)
+       end
+
+Fri Mar  1 23:44:51 EST 1996
+  Fix glitch in evaluating .EQ. and .NE. when both operands are
+logical constants (.TRUE. or .FALSE.).
+
+Fri Mar 15 17:29:54 EST 1996
+  libi77: lread.c, rsfe.c: honor END= in READ stmts with empty iolist.
+
+Tue Mar 19 23:08:32 EST 1996
+  lex.c: arrange for a "statement" consisting of a single short bogus
+keyword to elicit an error message showing the whole keyword.  The
+error message formerly omitted the last letter of the bad keyword.
+  libf77: s_cat.c: supply missing break after overlap detection.
+
+Mon May 13 23:35:26 EDT 1996
+  Recognize Fortran 90's /= as a synonym for .NE..  (<> remains a
+synonym for .NE..)
+  Emit an empty int function of no arguments to supply an external
+name to named block data subprograms (so they can be called somewhere
+to force them to be loaded from a library).
+  Fix bug (memory fault) in handling the following illegal Fortran:
+       parameter(i=1)
+       equivalence(i,j)
+       end
+  Treat cdabs, cdcos, cdexp, cdlog, cdsin, and cdsqrt as synonyms for
+the double complex intrinsics zabs, zcos, zexp, zlog, zsin, and zsqrt,
+respectively, unless -cd is specified.
+  Recognize the Fortran 90 bit-manipulation intrinsics btest, iand,
+ibclr, ibits, ibset, ieor, ior, ishft, and ishftc, unless -i90 is
+specified.  Note that iand, ieor, and ior are thus now synonyms for
+"and", "xor", and "or", respectively.
+  Add three macros (bit_test, bit_clear, bit_set) to f2c.h for use
+with btest, ibclr, and ibset, respectively.  Add new functions
+[lq]bit_bits, [lq]bit_shift, and [lq]_bit_cshift to libF77 for
+use with ibits, ishft, and ishftc, respectively.
+  Add integer function ftell(unit) (returning -1 on error) and
+subroutine fseek(unit, offset, whence, *) to libI77 (with branch to
+label * on error).
+
+Tue May 14 23:21:12 EDT 1996
+  Fix glitch (possible memory fault, or worse) in handling multiple
+entry points with names over 28 characters long.
+
+Mon Jun 10 01:20:16 EDT 1996
+  Update netlib E-mail and ftp addresses in f2c/readme and
+f2c/src/readme (which are different files) -- to reflect the upcoming
+breakup of AT&T.
+  libf77: trivial tweaks to F77_aloc.c and system_.c; Version.c not
+changed.
+  libi77: Adjust rsli.c and lread.c so internal list input with too
+few items in the input string will honor end= .
+
+Mon Jun 10 22:59:57 EDT 1996
+  Add Bits_per_Byte to sysdep.h and adjust definition of Table_size
+to depend on Bits_per_Byte (forcing Table_size to be a power of 2); in
+lex.c, change "comstart[c & 0xfff]" to "comstart[c & (Table_size-1)]"
+to avoid an out-of-range subscript on end-of-file.
+
+Wed Jun 12 00:24:28 EDT 1996
+  Fix bug in output.c (dereferencing a freed pointer) revealed in
+       print *         !np in out_call in output.c clobbered by free
+       end             !during out_expr.
+
+Wed Jun 19 08:12:47 EDT 1996
+  f2c.h: add types uinteger, ulongint (for libF77); add qbit_clear
+and qbit_set macros (in a commented-out section) for integer*8.
+  For integer*8, use qbit_clear and qbit_set for ibclr and ibset.
+  libf77: add casts to unsigned in [lq]bitshft.c.
+
+Thu Jun 20 13:30:43 EDT 1996
+  Complain at character*(*) in common (rather than faulting).
+  Fix bug in recognizing hex constants that start with "16#" (e.g.,
+16#1234abcd, which is a synonym for z'1234abcd').
+  Fix bugs in constant folding of expressions involving btest, ibclr,
+and ibset.
+  Fix bug in constant folding of rshift(16#80000000, -31) (on a 32-bit
+machine; more generally, the bug was in constant folding of
+rshift(ibset(0,NBITS-1), 1-NBITS) when f2c runs on a machine with
+long ints having NBITS bits.
+
+Mon Jun 24 07:58:53 EDT 1996
+  Adjust struct Literal and newlabel() function to accommodate huge
+source files (with more than 32767 newlabel() invocations).
+  Omit .c file when the .f file has a missing final end statement.
+
+Wed Jun 26 14:00:02 EDT 1996
+  libi77: Add discussion of MXUNIT (highest allowed Fortran unit number)
+to libI77/README.
+
+Fri Jun 28 14:16:11 EDT 1996
+  Fix glitch with -onetrip: the temporary variable used for nonconstant
+initial loop variable values was recycled too soon.  Example:
+       do i = j+1, k
+               call foo(i+1)   ! temp for j+1 was reused here
+               enddo
+       end
+
+Tue Jul  2 16:11:27 EDT 1996
+  formatdata.c: add a 0 to the end of the basetype array (for TYBLANK)
+(an omission that was harmless on most machines).
+  expr.c: fix a dereference of NULL that was only possible with buggy
+input, such as
+       subroutine $sub(s)      ! the '$' is erroneous
+       character s*(*)
+       s(1:) = ' '
+       end
+
+Sat Jul  6 00:44:56 EDT 1996
+  Fix glitch in the intrinsic "real" function when applied to a
+complex (or double complex) variable and passed as an argument to
+some intrinsic functions.  Example:
+       complex a
+       b = sqrt(a)
+       end
+  Fix glitch (only visible if you do not use f2c's malloc and the
+malloc you do use is defective in the sense that malloc(0) returns 0)
+in handling include files that end with another include (perhaps
+followed by comments).
+  Fix glitch with character*(*) arguments named "h" and "i" when
+the body of the subroutine invokes the intrinsic LEN function.
+  Arrange that after a previous "f2c -P foo.f" has produced foo.P,
+running "f2c foo.P foo.f" will produce valid C when foo.f contains
+       call sub('1234')
+       end
+       subroutine sub(msg)
+       end
+Specifically, the length argument in "call sub" is now suppressed.
+With or without foo.P, it is also now suppressed when the order of
+subprograms in file foo.f is reversed:
+       subroutine sub(msg)
+       end
+       call sub('1234')
+       end
+  Adjust copyright notices to reflect AT&T breakup.
+
+Wed Jul 10 09:25:49 EDT 1996
+  Fix bug (possible memory fault) in handling erroneously placed
+and inconsistent declarations.  Example that faulted:
+       character*1 w(8)
+       call foo(w)
+       end
+       subroutine foo(m)
+       data h /0.5/
+       integer m(2)    ! should be before data
+       end
+  Fix bug (possible fault) in handling illegal "if" constructions.
+Example (that faulted):
+       subroutine foo(i,j)
+       if (i) then             ! bug: i is integer, not logical
+       else if (j) then        ! bug: j is integer, not logical
+       endif
+       end
+  Fix glitch with character*(*) argument named "ret_len" to a
+character*(*) function.
+
+Wed Jul 10 23:04:16 EDT 1996
+  Fix more glitches in the intrinsic "real" function when applied to a
+complex (or double complex) variable and passed as an argument to
+some intrinsic functions.  Example:
+       complex a, b
+       r = sqrt(real(conjg(a))) + sqrt(real(a*b))
+       end
+
+Thu Jul 11 17:27:16 EDT 1996
+  Fix a memory fault associated with complicated, illegal input.
+Example:
+       subroutine goo
+       character a
+       call foo(a)     ! inconsistent with subsequent def and call
+       end
+       subroutine foo(a)
+       end
+       call foo(a)
+       end
+
+Wed Jul 17 19:18:28 EDT 1996
+  Fix yet another case of intrinsic "real" applied to a complex
+argument.  Example:
+       complex a(3)
+       x = sqrt(real(a(2)))    ! gave error message about bad tag
+       end
+
+Mon Aug 26 11:28:57 EDT 1996
+  Tweak sysdep.c for non-Unix systems in which process ID's can be
+over 5 digits long.
+
+Tue Aug 27 08:31:32 EDT 1996
+  Adjust the ishft intrinsic to use unsigned right shifts.  (Previously,
+a negative constant second operand resulted in a possibly signed shift.)
+
+Thu Sep 12 14:04:07 EDT 1996
+  equiv.c: fix glitch with -DKR_headers.
+  libi77: fmtlib.c: fix bug in printing the most negative integer.
+
+Fri Sep 13 08:54:40 EDT 1996
+  Diagnose some illegal appearances of substring notation.
+
+Tue Sep 17 17:48:09 EDT 1996
+  Fix fault in handling some complex parameters.  Example:
+       subroutine foo(a)
+       double complex a, b
+       parameter(b = (0,1))
+       a = b   ! f2c faulted here
+       end
+
+Thu Sep 26 07:47:10 EDT 1996
+  libi77:  fmt.h:  for formatted writes of negative integer*1 values,
+make ic signed on ANSI systems.  If formatted writes of integer*1
+values trouble you when using a K&R C compiler, switch to an ANSI
+compiler or use a compiler flag that makes characters signed.
+
+Tue Oct  1 14:41:36 EDT 1996
+  Give a better error message when dummy arguments appear in data
+statements.
+
+Thu Oct 17 13:37:22 EDT 1996
+  Fix bug in typechecking arguments to character and complex (or
+double complex) functions; the bug could cause length arguments
+for character arguments to be omitted on invocations appearing
+textually after the first invocation.  For example, in
+       subroutine foo
+       character c
+       complex zot
+       call goo(zot(c), zot(c))
+       end
+the length was omitted from the second invocation of zot, and
+there was an erroneous error message about inconsistent calling
+sequences.
+
+Wed Dec  4 13:59:14 EST 1996
+  Fix bug revealed by
+       subroutine test(cdum,rdum)
+       complex cdum
+       rdum=cos(real(cdum))    ! "Unexpected tag 3 in opconv_fudge"
+       end
+  Fix glitch in parsing "DO 10 D0 = 1, 10".
+  Fix glitch in parsing
+       real*8 x
+       real*8 x        ! erroneous "incompatible type" message
+       call foo(x)
+       end
+
+Mon Dec  9 23:15:02 EST 1996
+  Fix glitch in parameter adjustments for arrays whose lower
+bound depends on a scalar argument.  Example:
+       subroutine bug(p,z,m,n)
+       integer z(*),m,n
+       double precision p(z(m):z(m) + n)       ! p_offset botched
+       call foo(p(0), p(n))
+       end
+  libi77: complain about non-positive rec= in direct read and write
+statements.
+  libf77: trivial adjustments; Version.c not changed.
+
+Wed Feb 12 00:18:03 EST 1997
+  output.c: fix (seldom problematic) glitch in out_call: put parens
+around the ... in a test of the form "if (q->tag == TADDR && ...)".
+  vax.c: fix bug revealed in the "psi_offset =" assignment in the
+following example:
+       subroutine foo(psi,m)
+       integer z(100),m
+       common /a/ z
+       double precision psi(z(m):z(m) + 10)
+       call foo(m+1, psi(0),psi(10))
+       end
+
+Mon Feb 24 23:44:54 EST 1997
+  For consistency with f2c's current treatment of adjacent character
+strings in FORMAT statements, recognize a Hollerith string following
+a string (and merge adjacent strings in FORMAT statements).
+
+Wed Feb 26 13:41:11 EST 1997
+  New libf2c.zip, a combination of the libf77 and libi77 bundles (and
+available only by ftp).
+  libf77: adjust functions with a complex output argument to permit
+aliasing it with input arguments.  (For now, at least, this is just
+for possible benefit of g77.)
+  libi77: tweak to ftell_.c for systems with strange definitions of
+SEEK_SET, etc.
+
+Tue Apr  8 20:57:08 EDT 1997
+  libf77: [cz]_div.c: tweaks invisible on most systems (that may
+improve things slightly with optimized compilation on systems that use
+gratuitous extra precision).
+  libi77: fmt.c: adjust to complain at missing numbers in formats
+(but still treat missing ".nnn" as ".0").
+
+Fri Apr 11 14:05:57 EDT 1997
+  libi77: err.c: attempt to make stderr line buffered rather than
+fully buffered.  (Buffering is needed for format items T and TR.)
+
+Thu Apr 17 22:42:43 EDT 1997
+ libf77: add F77_aloc.o to makefile (and makefile.u in libf2c.zip).
+
+Fri Apr 25 19:32:09 EDT 1997
+ libf77: add [de]time_.c (which may give trouble on some systems).
+
+Tue May 27 09:18:52 EDT 1997
+ libi77: ftell_.c: fix typo that caused the third argument to be
+treated as 2 on some systems.
+
+Mon Jun  9 00:04:37 EDT 1997
+ libi77 (and libf2c.zip): adjust include order in err.c lread.c wref.c
+rdfmt.c to include fmt.h (etc.) after system includes.  Version.c not
+changed.
+
+Mon Jul 21 16:04:54 EDT 1997
+  proc.c: fix glitch in logic for "nonpositive dimension" message.
+  libi77: inquire.c: always include string.h (for possible use with
+-DNON_UNIX_STDIO); Version.c not changed.
+
+Thu Jul 24 17:11:23 EDT 1997
+  Tweak "Notice" to reflect the AT&T breakup -- we missed it when
+updating the copyright notices in the source files last summer.
+  Adjust src/makefile so malloc.o is not used by default, but can
+be specified with "make MALLOC=malloc.o".
+  Add comments to src/README about the "CRAY" T3E.
+
+Tue Aug  5 14:53:25 EDT 1997
+  Add definition of calloc to malloc.c; this makes f2c's malloc
+work on some systems where trouble hitherto arose because references
+to calloc brought in the system's malloc.  (On sensible systems,
+calloc is defined separately from malloc.  To avoid confusion on
+other systems, f2c/malloc.c now defines calloc.)
+  libi77: lread.c: adjust to accord with a change to the Fortran 8X
+draft (in 1990 or 1991) that rescinded permission to elide quote marks
+in namelist input of character data; to get the old behavior, compile
+with F8X_NML_ELIDE_QUOTES #defined.  wrtfmt.o: wrt_G: tweak to print
+the right number of 0's for zero under G format.
+
+Sat Aug 16 05:45:32 EDT 1997
+  libi77: iio.c: fix bug in internal writes to an array of character
+strings that sometimes caused one more array element than required by
+the format to be blank-filled.  Example: format(1x).
+
+Wed Sep 17 00:39:29 EDT 1997
+  libi77: fmt.[ch] rdfmt.c wrtfmt.c: tweak struct syl for machines
+with 64-bit pointers and 32-bit ints that did not 64-bit align
+struct syl (e.g., Linux on the DEC Alpha).  This change should be
+invisible on other machines.
+
+Sun Sep 21 22:05:19 EDT 1997
+  libf77: [de]time_.c (Unix systems only): change return type to double.
+
+Thu Dec  4 22:10:09 EST 1997
+  Fix bug with handling large blocks of comments (over 4k); parts of the
+second and subsequent blocks were likely to be lost (not copied into
+comments in the resulting C).  Allow comment lines to be longer before
+breaking them.
+
+Mon Jan 19 17:19:27 EST 1998
+  makefile: change the rule for making gram.c to one for making gram1.c;
+henceforth, asking netlib to "send all from f2c/src" will bring you a
+working gram.c.  Nowadays there are simply too many broken versions of
+yacc floating around.
+  libi77: backspace.c: for b->ufmt==0, change sizeof(int) to
+sizeof(uiolen).  On machines where this would make a difference, it is
+best for portability to compile libI77 with -DUIOLEN_int, which will
+render the change invisible.
+
+Tue Feb 24 08:35:33 EST 1998
+  makefile: remove gram.c from the "make clean" rule.
+
+Wed Feb 25 08:29:39 EST 1998
+  makefile: change CFLAGS assignment to -O; add "veryclean" rule.
+
+Wed Mar  4 13:13:21 EST 1998
+  libi77: open.c: fix glitch in comparing file names under
+-DNON_UNIX_STDIO.
+
+Mon Mar  9 23:56:56 EST 1998
+  putpcc.c: omit an unnecessary temporary variable in computing
+(expr)**3.
+  libf77, libi77: minor tweaks to make some C++ compilers happy;
+Version.c not changed.
+
+Wed Mar 18 18:08:47 EST 1998
+  libf77: minor tweaks to [ed]time_.c; Version.c not changed.
+  libi77: endfile.c, open.c: acquire temporary files from tmpfile(),
+unless compiled with -DNON_ANSI_STDIO, which uses mktemp().
+New buffering scheme independent of NON_UNIX_STDIO for handling T
+format items.  Now -DNON_UNIX_STDIO is no longer be necessary for
+Linux, and libf2c no longer causes stderr to be buffered -- the former
+setbuf or setvbuf call for stderr was to make T format items work.
+open.c: use the Posix access() function to check existence or
+nonexistence of files, except under -DNON_POSIX_STDIO, where trial
+fopen calls are used.  In open.c, fix botch in changes of 19980304.
+  libf2c.zip: the PC makefiles are now set for NT/W95, with comments
+about changes for DOS.
+
+Fri Apr  3 17:22:12 EST 1998
+  Adjust fix of 19960913 to again permit substring notation on
+character variables in data statements.
+
+Sun Apr  5 19:26:50 EDT 1998
+  libi77: wsfe.c: make $ format item work: this was lost in the changes
+of 17 March 1998.
+
+Sat May 16 19:08:51 EDT 1998
+  Adjust output of ftnlen constants: rather than appending L,
+prepend (ftnlen).  This should make the resulting C more portable,
+e.g., to systems (such as DEC Alpha Unix systems) on which long
+may be longer than ftnlen.
+  Adjust -r so it also casts REAL expressions passed to intrinsic
+functions to REAL.
+
+Wed May 27 16:02:35 EDT 1998
+  libf2c.zip: tweak description of compiling libf2c for INTEGER*8
+to accord with makefile.u rather than libF77/makefile.
+
+Thu May 28 22:45:59 EDT 1998
+  libi77: backspace.c dfe.c due.c iio.c lread.c rsfe.c sue.c wsfe.c:
+set f__curunit sooner so various error messages will correctly
+identify the I/O unit involved.
+  libf2c.zip: above, plus tweaks to PC makefiles: for some purposes,
+it's still best to compile with -DMSDOS (even for use with NT).
+
+Thu Jun 18 01:22:52 EDT 1998
+  libi77: lread.c: modified so floating-point numbers (containing
+either a decimal point or an exponent field) are treated as errors
+when they appear as list input for integer data.  Compile lread.c with
+-DALLOW_FLOAT_IN_INTEGER_LIST_INPUT to restore the old behavior.
+
+Mon Aug 31 10:38:54 EDT 1998
+  formatdata.c: if possible, and assuming doubles must be aligned on
+double boundaries, use existing holes in DATA for common blocks to
+force alignment of the block.  For example,
+       block data
+       common /abc/ a, b
+       double precision a
+       integer b(2)
+       data b(2)/1/
+       end
+used to generate
+       struct {
+           integer fill_1[3];
+           integer e_2;
+           doublereal e_3;
+           } abc_ = { {0}, 1, 0. };
+and now generates
+       struct {
+           doublereal fill_1[1];
+           integer fill_2[1];
+           integer e_3;
+           } abc_ = { {0}, {0}, 1 };
+In the old generated C, e_3 was added to force alignment; in the new C,
+fill_1 does this job.
+
+Mon Sep  7 19:48:51 EDT 1998
+  libi77: move e_wdfe from sfe.c to dfe.c, where it was originally.
+Why did it ever move to sfe.c?
+
+Tue Sep  8 10:22:50 EDT 1998
+  Treat dreal as a synonym for dble unless -cd is specified on the
+command line.
+
+Sun Sep 13 22:23:41 EDT 1998
+  format.c: fix bug in writing prototypes under f2c -A ... *.P:
+under some circumstances involving external functions with no known
+type, a null pointer was passed to printf.
+
+Tue Oct 20 23:25:54 EDT 1998
+  Comments added to libf2c/README and libF77/README, pointing out
+the need to modify signal1.h on some systems.
+
+Wed Feb 10 22:59:52 EST 1999
+  defs.h lex.c: permit long names (up to at least roughly
+MAX_SHARPLINE_LEN = 1000 characters long) in #line lines (which only
+matters under -g).
+  fc: add -U option; recognize .so files.
+
+Sat Feb 13 10:18:27 EST 1999
+ libf2c: endfile.c, lread.c, signal1.h0: minor tweaks to make some
+(C++) compilers happier; f77_aloc.c: make exit_() visible to C++
+compilers.  Version strings not changed.
+
+Thu Mar 11 23:14:02 EST 1999
+  Modify f2c (exec.c, expr.c) to diagnose incorrect mixing of types
+when (f2c extended) intrinsic functions are involved, as in
+(not(17) .and. 4).  Catching this in the first executable statement
+is a bit tricky, as some checking must be postponed until all statement
+function declarations have been parsed.  Thus there is a chance of
+today's changes introducing bugs under (let us hope) unusual conditions.
+
+Sun Mar 28 13:17:44 EST 1999
+  lex.c: tweak to get the file name right in error messages caused
+by statements just after a # nnn "filename" line emitted by the C
+preprocessor.  (The trouble is that the line following the # nnn line
+must be read to see if it is a continuation of the stuff that preceded
+the # nnn line.)  When # nnn "filename" lines appear among the lines
+for a Fortran statement, the filename reported in an error message for
+the statement should now be the file that was current when the first
+line of the statement was read.
+
+Sun May  2 22:38:25 EDT 1999
+  libf77, libi77, libf2c.zip: make getenv_() more portable (call
+getenv() rather than knowing about char **environ); adjust some
+complex intrinsics to work with overlapping arguments (caused by
+inappropriate use of equivalence); open.c: get "external" versus
+"internal" right in the error message if a file cannot be opened;
+err.c: cast a pointer difference to (int) for %d; rdfmt.c: omit
+fixed-length buffer that could be overwritten by formats Inn or Lnn
+with nn > 83.
+
+Mon May  3 13:14:07 EDT 1999
+  "Invisible" changes to omit a few compiler warnings in f2c and
+libf2c; two new casts in libf2c/open.c that matter with 64-bit longs,
+and one more tweak (libf2c/c_log.c) for pathological equivalences.
+  Minor update to "fc" script: new -L flag and comment correction.
+
+Fri Jun 18 02:33:08 EDT 1999
+  libf2c.zip: rename backspace.c backspac.c, and fix a glitch in it
+-- b->ufd may change in t_runc().  (For now, it's still backspace.c
+in the libi77 bundle.)
+
+Sun Jun 27 22:05:47 EDT 1999
+  libf2c.zip, libi77: rsne.c: fix bug in namelist input: a misplaced
+increment could cause wrong array elements to be assigned; e.g.,
+"&input k(5)=10*1 &end" assigned k(5) and k(15 .. 23).
diff --git a/contrib/gcc-3.4/libf2c/disclaimer.netlib b/contrib/gcc-3.4/libf2c/disclaimer.netlib
new file mode 100644 (file)
index 0000000..a11108f
--- /dev/null
@@ -0,0 +1,15 @@
+f2c is a Fortran to C converter under development since 1990 by
+       David M. Gay (then AT&T Bell Labs, now Bell Labs, Lucent Technologies)
+       Stu Feldman (then at Bellcore, now at IBM)
+       Mark Maimone (Carnegie-Mellon University)
+       Norm Schryer (then AT&T Bell Labs, now AT&T Labs)
+Please send bug reports to dmg@research.bell-labs.com .
+
+AT&T, Bellcore and Lucent disclaim all warranties with regard to this
+software, including all implied warranties of merchantability
+and fitness.  In no event shall AT&T, Bellcore or Lucent be liable for
+any special, indirect or consequential damages or any damages
+whatsoever resulting from loss of use, data or profits, whether
+in an action of contract, negligence or other tortious action,
+arising out of or in connection with the use or performance of
+this software.
diff --git a/contrib/gcc-3.4/libf2c/f2c.h b/contrib/gcc-3.4/libf2c/f2c.h
new file mode 100644 (file)
index 0000000..71e5361
--- /dev/null
@@ -0,0 +1,64 @@
+/* f2c.h file for GNU Fortran run-time library
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   Contributed by James Craig Burley.
+
+This file is part of GNU Fortran.
+
+GNU Fortran 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 Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Fortran is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Fortran; see the file COPYING.  If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+/* This file currently is just a stub through which g77's copy
+   of netlib's libf2c, which g77 builds and installs as libg2c.a
+   (to avoid conflict), #include's g77's version of f2c.h, named
+   g2c.h.  That file is, in turn, produced via g77's library
+   configuration process from g2c.h.in.
+
+   By going through this extra "hoop", it is easy to provide for
+   libg2c-specific configuration and typedefs that aren't appropriate
+   in g2c.h itself (since that is intended to be installed so it can
+   be shared with f2c users), without changing the libf2c (libg2c)
+   routines themselves.  (They continue to #include "f2c.h", just
+   like they do in netlib's version.)  */
+
+#include "g2c.h"
+
+/* For GNU Fortran (g77), we always enable the following behaviors for
+   libf2c, to make things easy on the programmer.  The alternate
+   behaviors have their uses, and g77 might provide them as compiler,
+   rather than library, options, so only a single copy of a shared libf2c
+   need be built for a system.  */
+
+/* This makes unformatted I/O more consistent in relation to other
+   systems.  It is not required by the F77 standard.  */
+
+#define Pad_UDread
+
+/* This makes ERR= and IOSTAT= returns work properly in disk-full
+   situations, making things work more as expected.  It slows things
+   down, so g77 will probably someday choose the original implementation
+   on a case-by-case basis when it can be shown to not be necessary
+   (e.g. no ERR= or IOSTAT=) or when it is given the appropriate
+   compile-time option or, perhaps, source-code directive.
+
+   (No longer defined, since it really slows down NFS access too much.)  */
+
+/* #define ALWAYS_FLUSH */
+
+/* Most Fortran implementations do this, so to make it easier
+   to compare the output of g77-compiled programs to those compiled
+   by most other compilers, tell libf2c to put leading zeros in
+   appropriate places on output.  */
+
+#define WANT_LEAD_0
diff --git a/contrib/gcc-3.4/libf2c/f2cext.c b/contrib/gcc-3.4/libf2c/f2cext.c
new file mode 100644 (file)
index 0000000..69d12b6
--- /dev/null
@@ -0,0 +1,582 @@
+/* Copyright (C) 1997 Free Software Foundation, Inc.
+This file is part of GNU Fortran run-time library.
+
+This library is free software; you can redistribute it and/or modify it
+under the terms of the GNU Library General Public License as published
+by the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+GNU Fortran is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with GNU Fortran; see the file COPYING.LIB.  If
+not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include <math.h>              /* for j0 et al */
+#include <f2c.h>
+typedef void *sig_proc;        /* For now, this will have to do. */
+
+#ifdef Labort
+int abort_ (void) {
+    extern int G77_abort_0 (void);
+    return G77_abort_0 ();
+}
+#endif
+
+#ifdef Lderf
+double derf_ (doublereal *x) {
+    extern double G77_derf_0 (doublereal *x);
+    return G77_derf_0 (x);
+}
+#endif
+
+#ifdef Lderfc
+double derfc_ (doublereal *x) {
+    extern double G77_derfc_0 (doublereal *x);
+    return G77_derfc_0 (x);
+}
+#endif
+
+#ifdef Lef1asc
+int ef1asc_ (ftnint *a, ftnlen *la, ftnint *b, ftnlen *lb) {
+    extern int G77_ef1asc_0 (ftnint *a, ftnlen *la, ftnint *b, ftnlen *lb);
+    return G77_ef1asc_0 (a, la, b, lb);
+}
+#endif
+
+#ifdef Lef1cmc
+integer ef1cmc_ (ftnint *a, ftnlen *la, ftnint *b, ftnlen *lb) {
+    extern integer G77_ef1cmc_0 (ftnint *a, ftnlen *la, ftnint *b, ftnlen *lb);
+    return G77_ef1cmc_0 (a, la, b, lb);
+}
+#endif
+
+#ifdef Lerf
+double erf_ (real *x) {
+    extern double G77_erf_0 (real *x);
+    return G77_erf_0 (x);
+}
+#endif
+
+#ifdef Lerfc
+double erfc_ (real *x) {
+    extern double G77_erfc_0 (real *x);
+    return G77_erfc_0 (x);
+}
+#endif
+
+#ifdef Lexit
+void exit_ (integer *rc) {
+    extern void G77_exit_0 (integer *rc);
+    G77_exit_0 (rc);
+}
+#endif
+
+#ifdef Lgetarg
+void getarg_ (ftnint *n, char *s, ftnlen ls) {
+    extern void G77_getarg_0 (ftnint *n, char *s, ftnlen ls);
+    G77_getarg_0 (n, s, ls);
+}
+#endif
+
+#ifdef Lgetenv
+void getenv_ (char *fname, char *value, ftnlen flen, ftnlen vlen) {
+    extern void G77_getenv_0 (char *fname, char *value, ftnlen flen, ftnlen vlen);
+    G77_getenv_0 (fname, value, flen, vlen);
+}
+#endif
+
+#ifdef Liargc
+ftnint iargc_ (void) {
+    extern ftnint G77_iargc_0 (void);
+    return G77_iargc_0 ();
+}
+#endif
+
+#ifdef Lsignal
+void *signal_ (integer *sigp, sig_proc proc) {
+    extern void *G77_signal_0 (integer *sigp, sig_proc proc);
+    return G77_signal_0 (sigp, proc);
+}
+#endif
+
+#ifdef Lsystem
+integer system_ (char *s, ftnlen n) {
+    extern integer G77_system_0 (char *s, ftnlen n);
+    return G77_system_0 (s, n);
+}
+#endif
+
+#ifdef Lflush
+int flush_ (void) {
+    extern int G77_flush_0 (void);
+    return G77_flush_0 ();
+}
+#endif
+
+#ifdef Lftell
+integer ftell_ (integer *Unit) {
+    extern integer G77_ftell_0 (integer *Unit);
+    return G77_ftell_0 (Unit);
+}
+#endif
+
+#ifdef Lfseek
+integer fseek_ (integer *Unit, integer *offset, integer *xwhence) {
+    extern integer G77_fseek_0 (integer *Unit, integer *offset, integer *xwhence);
+    return G77_fseek_0 (Unit, offset, xwhence);
+}
+#endif
+
+#ifdef Laccess
+integer access_ (const char *name, const char *mode, ftnlen Lname, ftnlen Lmode) {
+    extern integer G77_access_0 (const char *name, const char *mode, ftnlen Lname, ftnlen Lmode);
+    return G77_access_0 (name, mode, Lname, Lmode);
+}
+#endif
+
+#ifdef Lalarm
+integer alarm_ (integer *seconds, sig_proc proc,
+               integer *status __attribute__ ((__unused__))) {
+    extern integer G77_alarm_0 (integer *seconds, sig_proc proc);
+    return G77_alarm_0 (seconds, proc);
+}
+#endif
+
+#ifdef Lbesj0
+double besj0_ (const real *x) {
+    return j0 (*x);
+}
+#endif
+
+#ifdef Lbesj1
+double besj1_ (const real *x) {
+    return j1 (*x);
+}
+#endif
+
+#ifdef Lbesjn
+double besjn_ (const integer *n, real *x) {
+    return jn (*n, *x);
+}
+#endif
+
+#ifdef Lbesy0
+double besy0_ (const real *x) {
+    return y0 (*x);
+}
+#endif
+
+#ifdef Lbesy1
+double besy1_ (const real *x) {
+    return y1 (*x);
+}
+#endif
+
+#ifdef Lbesyn
+double besyn_ (const integer *n, real *x) {
+    return yn (*n, *x);
+}
+#endif
+
+#ifdef Lchdir
+integer chdir_ (const char *name, const ftnlen Lname) {
+    extern integer G77_chdir_0 (const char *name, const ftnlen Lname);
+    return G77_chdir_0 (name, Lname);
+}
+#endif
+
+#ifdef Lchmod
+integer chmod_ (const char *name, const char *mode, const ftnlen Lname, const ftnlen Lmode) {
+    extern integer G77_chmod_0 (const char *name, const char *mode, const ftnlen Lname, const ftnlen Lmode);
+    return G77_chmod_0 (name, mode, Lname, Lmode);
+}
+#endif
+
+#ifdef Lctime
+void ctime_ (char *chtime, const ftnlen Lchtime, longint *xstime) {
+    extern void G77_ctime_0 (char *chtime, const ftnlen Lchtime, longint *xstime);
+    G77_ctime_0 (chtime, Lchtime, xstime);
+}
+#endif
+
+#ifdef Ldate_y2kbuggy
+int date_ (char *buf, ftnlen buf_len) {
+  /* Fail to link, so user sees attempt to invoke non-Y2K-compliant
+     routine.  */
+    extern int G77_date_y2kbuggy_0 (char *buf, ftnlen buf_len);
+    return G77_date_y2kbuggy_0 (buf, buf_len);
+}
+#endif
+
+#ifdef Ldate_y2kbug
+int date_y2kbug__ (char *buf, ftnlen buf_len) {
+  /* If user wants to invoke the non-Y2K-compliant routine via
+     an `EXTERNAL' interface, avoiding the warning via g77's
+     `INTRINSIC' interface, force coding of "y2kbug" string in
+     user's program.  */
+    extern int G77_date_y2kbug_0 (char *buf, ftnlen buf_len);
+    return G77_date_y2kbug_0 (buf, buf_len);
+}
+#endif
+
+#ifdef Ldbesj0
+double dbesj0_ (const double *x) {
+    return j0 (*x);
+}
+#endif
+
+#ifdef Ldbesj1
+double dbesj1_ (const double *x) {
+    return j1 (*x);
+}
+#endif
+
+#ifdef Ldbesjn
+double dbesjn_ (const integer *n, double *x) {
+    return jn (*n, *x);
+}
+#endif
+
+#ifdef Ldbesy0
+double dbesy0_ (const double *x) {
+    return y0 (*x);
+}
+#endif
+
+#ifdef Ldbesy1
+double dbesy1_ (const double *x) {
+    return y1 (*x);
+}
+#endif
+
+#ifdef Ldbesyn
+double dbesyn_ (const integer *n, double *x) {
+    return yn (*n, *x);
+}
+#endif
+
+#ifdef Ldtime
+double dtime_ (real tarray[2]) {
+    extern double G77_dtime_0 (real tarray[2]);
+    return G77_dtime_0 (tarray);
+}
+#endif
+
+#ifdef Letime
+double etime_ (real tarray[2]) {
+    extern double G77_etime_0 (real tarray[2]);
+    return G77_etime_0 (tarray);
+}
+#endif
+
+#ifdef Lfdate
+void fdate_ (char *ret_val, ftnlen ret_val_len) {
+    extern void G77_fdate_0 (char *ret_val, ftnlen ret_val_len);
+    G77_fdate_0 (ret_val, ret_val_len);
+}
+#endif
+
+#ifdef Lfgetc
+integer fgetc_ (const integer *lunit, char *c, ftnlen Lc) {
+    extern integer G77_fgetc_0 (const integer *lunit, char *c, ftnlen Lc);
+    return G77_fgetc_0 (lunit, c, Lc);
+}
+#endif
+
+#ifdef Lfget
+integer fget_ (char *c, const ftnlen Lc) {
+    extern integer G77_fget_0 (char *c, const ftnlen Lc);
+    return G77_fget_0 (c, Lc);
+}
+#endif
+
+#ifdef Lflush1
+int flush1_ (const integer *lunit) {
+    extern int G77_flush1_0 (const integer *lunit);
+    return G77_flush1_0 (lunit);
+}
+#endif
+
+#ifdef Lfnum
+integer fnum_ (integer *lunit) {
+    extern integer G77_fnum_0 (integer *lunit);
+    return G77_fnum_0 (lunit);
+}
+#endif
+
+#ifdef Lfputc
+integer fputc_ (const integer *lunit, const char *c, const ftnlen Lc) {
+    extern integer G77_fputc_0 (const integer *lunit, const char *c, const ftnlen Lc);
+    return G77_fputc_0 (lunit, c, Lc);
+}
+#endif
+
+#ifdef Lfput
+integer fput_ (const char *c, const ftnlen Lc) {
+    extern integer G77_fput_0 (const char *c, const ftnlen Lc);
+    return G77_fput_0 (c, Lc);
+}
+#endif
+
+#ifdef Lfstat
+integer fstat_ (const integer *lunit, integer statb[13]) {
+    extern integer G77_fstat_0 (const integer *lunit, integer statb[13]);
+    return G77_fstat_0 (lunit, statb);
+}
+#endif
+
+#ifdef Lgerror
+int gerror_ (char *str, ftnlen Lstr) {
+    extern int G77_gerror_0 (char *str, ftnlen Lstr);
+    return G77_gerror_0 (str,  Lstr);
+}
+#endif
+
+#ifdef Lgetcwd
+integer getcwd_ (char *str, const ftnlen Lstr) {
+    extern integer G77_getcwd_0 (char *str, const ftnlen Lstr);
+    return G77_getcwd_0 (str, Lstr);
+}
+#endif
+
+#ifdef Lgetgid
+integer getgid_ (void) {
+    extern integer G77_getgid_0 (void);
+    return G77_getgid_0 ();
+}
+#endif
+
+#ifdef Lgetlog
+int getlog_ (char *str, const ftnlen Lstr) {
+    extern int G77_getlog_0 (char *str, const ftnlen Lstr);
+    return G77_getlog_0 (str, Lstr);
+}
+#endif
+
+#ifdef Lgetpid
+integer getpid_ (void) {
+    extern integer G77_getpid_0 (void);
+    return G77_getpid_0 ();
+}
+#endif
+
+#ifdef Lgetuid
+integer getuid_ (void) {
+    extern integer G77_getuid_0 (void);
+    return G77_getuid_0 ();
+}
+#endif
+
+#ifdef Lgmtime
+int gmtime_ (const integer *stime, integer tarray[9]) {
+    extern int G77_gmtime_0 (const integer *stime, integer tarray[9]);
+    return G77_gmtime_0 (stime, tarray);
+}
+#endif
+
+#ifdef Lhostnm
+integer hostnm_ (char *name, ftnlen Lname) {
+    extern integer G77_hostnm_0 (char *name, ftnlen Lname);
+    return G77_hostnm_0 (name, Lname);
+}
+#endif
+
+#ifdef Lidate
+int idate_ (int iarray[3]) {
+    extern int G77_idate_0 (int iarray[3]);
+    return G77_idate_0 (iarray);
+}
+#endif
+
+#ifdef Lierrno
+integer ierrno_ (void) {
+    extern integer G77_ierrno_0 (void);
+    return G77_ierrno_0 ();
+}
+#endif
+
+#ifdef Lirand
+integer irand_ (integer *flag) {
+    extern integer G77_irand_0 (integer *flag);
+    return G77_irand_0 (flag);
+}
+#endif
+
+#ifdef Lisatty
+logical isatty_ (integer *lunit) {
+    extern logical G77_isatty_0 (integer *lunit);
+    return G77_isatty_0 (lunit);
+}
+#endif
+
+#ifdef Litime
+int itime_ (integer tarray[3]) {
+    extern int G77_itime_0 (integer tarray[3]);
+    return G77_itime_0 (tarray);
+}
+#endif
+
+#ifdef Lkill
+integer kill_ (const integer *pid, const integer *signum) {
+    extern integer G77_kill_0 (const integer *pid, const integer *signum);
+    return G77_kill_0 (pid, signum);
+}
+#endif
+
+#ifdef Llink
+integer link_ (const char *path1, const char *path2, const ftnlen Lpath1, const ftnlen Lpath2) {
+    extern integer G77_link_0 (const char *path1, const char *path2, const ftnlen Lpath1, const ftnlen Lpath2);
+    return G77_link_0 (path1, path2, Lpath1, Lpath2);
+}
+#endif
+
+#ifdef Llnblnk
+integer lnblnk_ (char *str, ftnlen str_len) {
+    extern integer G77_lnblnk_0 (char *str, ftnlen str_len);
+    return G77_lnblnk_0 (str, str_len);
+}
+#endif
+
+#ifdef Llstat
+integer lstat_ (const char *name, integer statb[13], const ftnlen Lname) {
+    extern integer G77_lstat_0 (const char *name, integer statb[13], const ftnlen Lname);
+    return G77_lstat_0 (name, statb, Lname);
+}
+#endif
+
+#ifdef Lltime
+int ltime_ (const integer *stime, integer tarray[9]) {
+    extern int G77_ltime_0 (const integer *stime, integer tarray[9]);
+    return G77_ltime_0 (stime, tarray);
+}
+#endif
+
+#ifdef Lmclock
+longint mclock_ (void) {
+    extern longint G77_mclock_0 (void);
+    return G77_mclock_0 ();
+}
+#endif
+
+#ifdef Lperror
+int perror_ (const char *str, const ftnlen Lstr) {
+    extern int G77_perror_0 (const char *str, const ftnlen Lstr);
+    return G77_perror_0 (str, Lstr);
+}
+#endif
+
+#ifdef Lrand
+double rand_ (integer *flag) {
+    extern double G77_rand_0 (integer *flag);
+    return G77_rand_0 (flag);
+}
+#endif
+
+#ifdef Lrename
+integer rename_ (const char *path1, const char *path2, const ftnlen Lpath1, const ftnlen Lpath2) {
+    extern integer G77_rename_0 (const char *path1, const char *path2, const ftnlen Lpath1, const ftnlen Lpath2);
+    return G77_rename_0 (path1, path2, Lpath1, Lpath2);
+}
+#endif
+
+#ifdef Lsecnds
+double secnds_ (real *r) {
+    extern double G77_secnds_0 (real *r);
+    return G77_secnds_0 (r);
+}
+#endif
+
+#ifdef Lsecond
+double second_ () {
+    extern double G77_second_0 ();
+    return G77_second_0 ();
+}
+#endif
+
+#ifdef Lsleep
+int sleep_ (const integer *seconds) {
+    extern int G77_sleep_0 (const integer *seconds);
+    return G77_sleep_0 (seconds);
+}
+#endif
+
+#ifdef Lsrand
+int srand_ (const integer *seed) {
+    extern int G77_srand_0 (const integer *seed);
+    return G77_srand_0 (seed);
+}
+#endif
+
+#ifdef Lstat
+integer stat_ (const char *name, integer statb[13], const ftnlen Lname) {
+    extern integer G77_stat_0 (const char *name, integer statb[13], const ftnlen Lname);
+    return G77_stat_0 (name, statb, Lname);
+}
+#endif
+
+#ifdef Lsymlnk
+integer symlnk_ (const char *path1, const char *path2, const ftnlen Lpath1, const ftnlen Lpath2) {
+    extern integer G77_symlnk_0 (const char *path1, const char *path2, const ftnlen Lpath1, const ftnlen Lpath2);
+    return G77_symlnk_0 (path1, path2, Lpath1, Lpath2);
+}
+#endif
+
+#ifdef Ltime
+longint time_ (void) {
+    extern longint G77_time_0 (void);
+    return G77_time_0 ();
+}
+#endif
+
+#ifdef Lttynam
+void ttynam_ (char *ret_val, ftnlen ret_val_len, integer *lunit) {
+    extern void G77_ttynam_0 (char *ret_val, ftnlen ret_val_len, integer *lunit);
+    G77_ttynam_0 (ret_val, ret_val_len, lunit);
+}
+#endif
+
+#ifdef Lumask
+integer umask_ (integer *mask) {
+    extern integer G77_umask_0 (integer *mask);
+    return G77_umask_0 (mask);
+}
+#endif
+
+#ifdef Lunlink
+integer unlink_ (const char *str, const ftnlen Lstr) {
+    extern integer G77_unlink_0 (const char *str, const ftnlen Lstr);
+    return G77_unlink_0 (str, Lstr);
+}
+#endif
+
+#ifdef Lvxtidt_y2kbuggy
+int vxtidate_ (integer *m, integer *d, integer *y) {
+  /* Fail to link, so user sees attempt to invoke non-Y2K-compliant
+     routine.  */
+    extern int G77_vxtidate_y2kbuggy_0 (integer *m, integer *d, integer *y);
+    return G77_vxtidate_y2kbuggy_0 (m, d, y);
+}
+#endif
+
+#ifdef Lvxtidt_y2kbug
+int vxtidate_y2kbug__ (integer *m, integer *d, integer *y) {
+  /* If user wants to invoke the non-Y2K-compliant routine via
+     an `EXTERNAL' interface, avoiding the warning via g77's
+     `INTRINSIC' interface, force coding of "y2kbug" string in
+     user's program.  */
+    extern int G77_vxtidate_y2kbug_0 (integer *m, integer *d, integer *y);
+    return G77_vxtidate_y2kbug_0 (m, d, y);
+}
+#endif
+
+#ifdef Lvxttim
+void vxttime_ (char chtime[8], const ftnlen Lchtime) {
+    extern void G77_vxttime_0 (char chtime[8], const ftnlen Lchtime);
+    G77_vxttime_0 (chtime, Lchtime);
+}
+#endif
diff --git a/contrib/gcc-3.4/libf2c/g2c.hin b/contrib/gcc-3.4/libf2c/g2c.hin
new file mode 100644 (file)
index 0000000..577ea2b
--- /dev/null
@@ -0,0 +1,234 @@
+/* g2c.h  --  g77 version of f2c (Standard Fortran to C header file) */
+
+/* This file is generated by the g77 libg2c configuration process from a
+   file named g2c.hin.  This process sets up the appropriate types,
+   defines the appropriate macros, and so on.  The resulting g2c.h file
+   is used to build g77's copy of libf2c, named libg2c, and also can
+   be used when compiling C code produced by f2c to link the resulting
+   object file(s) with those produced by the same version of g77 that
+   produced this file, allowing inter-operability of f2c-compiled and
+   g77-compiled code.  */
+
+/**  barf  [ba:rf]  2.  "He suggested using FORTRAN, and everybody barfed."
+
+       - From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */
+
+#ifndef F2C_INCLUDE
+#define F2C_INCLUDE
+
+/* F2C_INTEGER will normally be `int' but would be `long' on 16-bit systems */
+/* we assume short, float are OK */
+typedef __g77_integer integer;
+typedef __g77_uinteger uinteger;
+typedef char *address;
+typedef short int shortint;
+typedef float real;
+typedef double doublereal;
+typedef struct { real r, i; } complex;
+typedef struct { doublereal r, i; } doublecomplex;
+typedef __g77_integer logical;
+typedef short int shortlogical;
+typedef char logical1;
+typedef char integer1;
+typedef __g77_longint longint;                 /* system-dependent */
+typedef __g77_ulongint ulongint;               /* system-dependent */
+#define qbit_clear(a,b)        ((a) & ~((ulongint)1 << (b)))
+#define qbit_set(a,b)  ((a) |  ((ulongint)1 << (b)))
+
+#define TRUE_ (1)
+#define FALSE_ (0)
+
+/* Extern is for use with -E */
+#ifndef Extern
+#define Extern extern
+#endif
+
+/* I/O stuff */
+
+#ifdef f2c_i2
+#error "f2c_i2 will not work with g77!!!!"
+/* for -i2 */
+typedef short flag;
+typedef short ftnlen;
+typedef short ftnint;
+#else
+typedef __g77_integer flag;
+typedef __g77_integer ftnlen;
+typedef __g77_integer ftnint;
+#endif
+
+/*external read, write*/
+typedef struct
+{      flag cierr;
+       ftnint ciunit;
+       flag ciend;
+       char *cifmt;
+       ftnint cirec;
+} cilist;
+
+/*internal read, write*/
+typedef struct
+{      flag icierr;
+       char *iciunit;
+       flag iciend;
+       char *icifmt;
+       ftnint icirlen;
+       ftnint icirnum;
+} icilist;
+
+/*open*/
+typedef struct
+{      flag oerr;
+       ftnint ounit;
+       char *ofnm;
+       ftnlen ofnmlen;
+       char *osta;
+       char *oacc;
+       char *ofm;
+       ftnint orl;
+       char *oblnk;
+} olist;
+
+/*close*/
+typedef struct
+{      flag cerr;
+       ftnint cunit;
+       char *csta;
+} cllist;
+
+/*rewind, backspace, endfile*/
+typedef struct
+{      flag aerr;
+       ftnint aunit;
+} alist;
+
+/* inquire */
+typedef struct
+{      flag inerr;
+       ftnint inunit;
+       char *infile;
+       ftnlen infilen;
+       ftnint  *inex;  /*parameters in standard's order*/
+       ftnint  *inopen;
+       ftnint  *innum;
+       ftnint  *innamed;
+       char    *inname;
+       ftnlen  innamlen;
+       char    *inacc;
+       ftnlen  inacclen;
+       char    *inseq;
+       ftnlen  inseqlen;
+       char    *indir;
+       ftnlen  indirlen;
+       char    *infmt;
+       ftnlen  infmtlen;
+       char    *inform;
+       ftnint  informlen;
+       char    *inunf;
+       ftnlen  inunflen;
+       ftnint  *inrecl;
+       ftnint  *innrec;
+       char    *inblank;
+       ftnlen  inblanklen;
+} inlist;
+
+union Multitype {      /* for multiple entry points */
+       integer1 g;
+       shortint h;
+       integer i;
+       /* longint j; */
+       real r;
+       doublereal d;
+       complex c;
+       doublecomplex z;
+       };
+
+typedef union Multitype Multitype;
+
+/*typedef long int Long;*/     /* No longer used; formerly in Namelist */
+
+struct Vardesc {       /* for Namelist */
+       char *name;
+       char *addr;
+       ftnlen *dims;
+       int  type;
+       };
+typedef struct Vardesc Vardesc;
+
+struct Namelist {
+       char *name;
+       Vardesc **vars;
+       int nvars;
+       };
+typedef struct Namelist Namelist;
+
+#define abs(x) ((x) >= 0 ? (x) : -(x))
+#define dabs(x) (doublereal)abs(x)
+#define min(a,b) ((a) <= (b) ? (a) : (b))
+#define max(a,b) ((a) >= (b) ? (a) : (b))
+#define dmin(a,b) (doublereal)min(a,b)
+#define dmax(a,b) (doublereal)max(a,b)
+#define bit_test(a,b)  ((a) >> (b) & 1)
+#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
+#define bit_set(a,b)   ((a) |  ((uinteger)1 << (b)))
+
+/* procedure parameter types for -A and -C++ */
+
+#define F2C_proc_par_types 1
+#ifdef __cplusplus
+typedef int /* Unknown procedure type */ (*U_fp)(...);
+typedef shortint (*J_fp)(...);
+typedef integer (*I_fp)(...);
+typedef real (*R_fp)(...);
+typedef doublereal (*D_fp)(...), (*E_fp)(...);
+typedef /* Complex */ void (*C_fp)(...);
+typedef /* Double Complex */ void (*Z_fp)(...);
+typedef logical (*L_fp)(...);
+typedef shortlogical (*K_fp)(...);
+typedef /* Character */ void (*H_fp)(...);
+typedef /* Subroutine */ int (*S_fp)(...);
+#else
+typedef int /* Unknown procedure type */ (*U_fp)();
+typedef shortint (*J_fp)();
+typedef integer (*I_fp)();
+typedef real (*R_fp)();
+typedef doublereal (*D_fp)(), (*E_fp)();
+typedef /* Complex */ void (*C_fp)();
+typedef /* Double Complex */ void (*Z_fp)();
+typedef logical (*L_fp)();
+typedef shortlogical (*K_fp)();
+typedef /* Character */ void (*H_fp)();
+typedef /* Subroutine */ int (*S_fp)();
+#endif
+/* E_fp is for real functions when -R is not specified */
+typedef void C_f;      /* complex function */
+typedef void H_f;      /* character function */
+typedef void Z_f;      /* double complex function */
+typedef doublereal E_f;        /* real function with -R not specified */
+
+/* undef any lower-case symbols that your C compiler predefines, e.g.: */
+
+#ifndef Skip_f2c_Undefs
+/* (No such symbols should be defined in a strict ANSI C compiler.
+   We can avoid trouble with f2c-translated code by using
+   gcc -ansi [-traditional].) */
+#undef cray
+#undef gcos
+#undef mc68010
+#undef mc68020
+#undef mips
+#undef pdp11
+#undef sgi
+#undef sparc
+#undef sun
+#undef sun2
+#undef sun3
+#undef sun4
+#undef u370
+#undef u3b
+#undef u3b2
+#undef u3b5
+#undef unix
+#undef vax
+#endif
+#endif
diff --git a/contrib/gcc-3.4/libf2c/libF77/F77_aloc.c b/contrib/gcc-3.4/libf2c/libF77/F77_aloc.c
new file mode 100644 (file)
index 0000000..b286102
--- /dev/null
@@ -0,0 +1,24 @@
+#include "f2c.h"
+#undef abs
+#undef min
+#undef max
+#include <stdio.h>
+
+static integer memfailure = 3;
+
+#include <stdlib.h>
+extern void G77_exit_0 (integer *);
+
+char *
+F77_aloc (integer Len, char *whence)
+{
+  char *rv;
+  unsigned int uLen = (unsigned int) Len;      /* for K&R C */
+
+  if (!(rv = (char *) malloc (uLen)))
+    {
+      fprintf (stderr, "malloc(%u) failure in %s\n", uLen, whence);
+      G77_exit_0 (&memfailure);
+    }
+  return rv;
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/Notice b/contrib/gcc-3.4/libf2c/libF77/Notice
new file mode 100644 (file)
index 0000000..261b719
--- /dev/null
@@ -0,0 +1,23 @@
+/****************************************************************
+Copyright 1990 - 1997 by AT&T, Lucent Technologies and Bellcore.
+
+Permission to use, copy, modify, and distribute this software
+and its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notice appear in all
+copies and that both that the copyright notice and this
+permission notice and warranty disclaimer appear in supporting
+documentation, and that the names of AT&T, Bell Laboratories,
+Lucent or Bellcore or any of their entities not be used in
+advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+AT&T, Lucent and Bellcore disclaim all warranties with regard to
+this software, including all implied warranties of
+merchantability and fitness.  In no event shall AT&T, Lucent or
+Bellcore be liable for any special, indirect or consequential
+damages or any damages whatsoever resulting from loss of use,
+data or profits, whether in an action of contract, negligence or
+other tortious action, arising out of or in connection with the
+use or performance of this software.
+****************************************************************/
+
diff --git a/contrib/gcc-3.4/libf2c/libF77/README.netlib b/contrib/gcc-3.4/libf2c/libF77/README.netlib
new file mode 100644 (file)
index 0000000..5e532ee
--- /dev/null
@@ -0,0 +1,112 @@
+If your compiler does not recognize ANSI C headers,
+compile with KR_headers defined:  either add -DKR_headers
+to the definition of CFLAGS in the makefile, or insert
+
+#define KR_headers
+
+at the top of f2c.h , cabs.c , main.c , and sig_die.c .
+
+Under MS-DOS, compile s_paus.c with -DMSDOS.
+
+If you have a really ancient K&R C compiler that does not understand
+void, add -Dvoid=int to the definition of CFLAGS in the makefile.
+
+If you use a C++ compiler, first create a local f2c.h by appending
+f2ch.add to the usual f2c.h, e.g., by issuing the command
+       make f2c.h
+which assumes f2c.h is installed in /usr/include .
+
+If your system lacks onexit() and you are not using an ANSI C
+compiler, then you should compile main.c, s_paus.c, s_stop.c, and
+sig_die.c with NO_ONEXIT defined.  See the comments about onexit in
+the makefile.
+
+If your system has a double drem() function such that drem(a,b)
+is the IEEE remainder function (with double a, b), then you may
+wish to compile r_mod.c and d_mod.c with IEEE_drem defined.
+On some systems, you may also need to compile with -Ddrem=remainder .
+
+To check for transmission errors, issue the command
+       make check
+This assumes you have the xsum program whose source, xsum.c,
+is distributed as part of "all from f2c/src".  If you do not
+have xsum, you can obtain xsum.c by sending the following E-mail
+message to netlib@netlib.bell-labs.com
+       send xsum.c from f2c/src
+
+The makefile assumes you have installed f2c.h in a standard
+place (and does not cause recompilation when f2c.h is changed);
+f2c.h comes with "all from f2c" (the source for f2c) and is
+available separately ("f2c.h from f2c").
+
+Most of the routines in libF77 are support routines for Fortran
+intrinsic functions or for operations that f2c chooses not
+to do "in line".  There are a few exceptions, summarized below --
+functions and subroutines that appear to your program as ordinary
+external Fortran routines.
+
+1.     CALL ABORT prints a message and causes a core dump.
+
+2.     ERF(r) and DERF(d) and the REAL and DOUBLE PRECISION
+       error functions (with x REAL and d DOUBLE PRECISION);
+       DERF must be declared DOUBLE PRECISION in your program.
+       Both ERF and DERF assume your C library provides the
+       underlying erf() function (which not all systems do).
+
+3.     ERFC(r) and DERFC(d) are the complementary error functions:
+       ERFC(r) = 1 - ERF(r) and DERFC(d) = 1.d0 - DERFC(d)
+       (except that their results may be more accurate than
+       explicitly evaluating the above formulae would give).
+       Again, ERFC and r are REAL, and DERFC and d are DOUBLE
+       PRECISION (and must be declared as such in your program),
+       and ERFC and DERFC rely on your system's erfc().
+
+4.     CALL GETARG(n,s), where n is an INTEGER and s is a CHARACTER
+       variable, sets s to the n-th command-line argument (or to
+       all blanks if there are fewer than n command-line arguments);
+       CALL GETARG(0,s) sets s to the name of the program (on systems
+       that support this feature).  See IARGC below.
+
+5.     CALL GETENV(name, value), where name and value are of type
+       CHARACTER, sets value to the environment value, $name, of
+       name (or to blanks if $name has not been set).
+
+6.     NARGS = IARGC() sets NARGS to the number of command-line
+       arguments (an INTEGER value).
+
+7.     CALL SIGNAL(n,func), where n is an INTEGER and func is an
+       EXTERNAL procedure, arranges for func to be invoked when
+       signal n occurs (on systems where this makes sense).
+
+8.     CALL SYSTEM(cmd), where cmd is of type CHARACTER, passes
+       cmd to the system's command processor (on systems where
+       this can be done).
+
+The makefile does not attempt to compile pow_qq.c, qbitbits.c,
+and qbitshft.c, which are meant for use with INTEGER*8.  To use
+INTEGER*8, you must modify f2c.h to declare longint and ulongint
+appropriately; then add pow_qq.o to the POW = line in the makefile,
+and add " qbitbits.o qbitshft.o" to the makefile's F90BIT = line.
+
+Following Fortran 90, s_cat.c and s_copy.c allow the target of a
+(character string) assignment to be appear on its right-hand, at
+the cost of some extra overhead for all run-time concatenations.
+If you prefer the  extra efficiency that comes with the Fortran 77
+requirement that the left-hand side of a character assignment not
+be involved in the right-hand side, compile s_cat.c and s_copy.c
+with -DNO_OVERWRITE .
+
+If your system lacks a ranlib command, you don't need it.
+Either comment out the makefile's ranlib invocation, or install
+a harmless "ranlib" command somewhere in your PATH, such as the
+one-line shell script
+
+       exit 0
+
+or (on some systems)
+
+       exec /usr/bin/ar lts $1 >/dev/null
+
+If your compiler complains about the signal calls in main.c, s_paus.c,
+and signal_.c, you may need to adjust signal1.h suitably.  See the
+comments in signal1.h.
diff --git a/contrib/gcc-3.4/libf2c/libF77/Version.c b/contrib/gcc-3.4/libf2c/libF77/Version.c
new file mode 100644 (file)
index 0000000..a27b0df
--- /dev/null
@@ -0,0 +1,94 @@
+const char __LIBF77_VERSION__[] = "@(#) LIBF77 VERSION 20000929\n";
+extern const char __LIBI77_VERSION__[];
+extern const char __LIBU77_VERSION__[];
+
+/*
+2.00   11 June 1980.  File version.c added to library.
+2.01   31 May 1988.  s_paus() flushes stderr; names of hl_* fixed
+       [ d]erf[c ] added
+        8 Aug. 1989: #ifdefs for f2c -i2 added to s_cat.c
+       29 Nov. 1989: s_cmp returns long (for f2c)
+       30 Nov. 1989: arg types from f2c.h
+       12 Dec. 1989: s_rnge allows long names
+       19 Dec. 1989: getenv_ allows unsorted environment
+       28 Mar. 1990: add exit(0) to end of main()
+        2 Oct. 1990: test signal(...) == SIG_IGN rather than & 01 in main
+       17 Oct. 1990: abort() calls changed to sig_die(...,1)
+       22 Oct. 1990: separate sig_die from main
+       25 Apr. 1991: minor, theoretically invisible tweaks to s_cat, sig_die
+       31 May  1991: make system_ return status
+       18 Dec. 1991: change long to ftnlen (for -i2) many places
+       28 Feb. 1992: repair z_sqrt.c (scribbled on input, gave wrong answer)
+       18 July 1992: for n < 0, repair handling of 0**n in pow_[dr]i.c
+                       and m**n in pow_hh.c and pow_ii.c;
+                       catch SIGTRAP in main() for error msg before abort
+       23 July 1992: switch to ANSI prototypes unless KR_headers is #defined
+       23 Oct. 1992: fix botch in signal_.c (erroneous deref of 2nd arg);
+                       change Cabs to f__cabs.
+       12 March 1993: various tweaks for C++
+        2 June 1994: adjust so abnormal terminations invoke f_exit just once
+       16 Sept. 1994: s_cmp: treat characters as unsigned in comparisons.
+       19 Sept. 1994: s_paus: flush after end of PAUSE; add -DMSDOS
+       12 Jan. 1995:   pow_[dhiqrz][hiq]: adjust x**i to work on machines
+                       that sign-extend right shifts when i is the most
+                       negative integer.
+       26 Jan. 1995: adjust s_cat.c, s_copy.c to permit the left-hand side
+                       of character assignments to appear on the right-hand
+                       side (unless compiled with -DNO_OVERWRITE).
+       27 Jan. 1995: minor tweak to s_copy.c: copy forward whenever
+                       possible (for better cache behavior).
+       30 May 1995:  added subroutine exit(rc) integer rc. Version not changed.
+       29 Aug. 1995: add F77_aloc.c; use it in s_cat.c and system_.c.
+       6 Sept. 1995: fix return type of system_ under -DKR_headers.
+       19 Dec. 1995: s_cat.c: fix bug when 2nd or later arg overlaps lhs.
+       19 Mar. 1996: s_cat.c: supply missing break after overlap detection.
+       13 May 1996:  add [lq]bitbits.c and [lq]bitshft.c (f90 bit intrinsics).
+       19 June 1996: add casts to unsigned in [lq]bitshft.c.
+       26 Feb. 1997: adjust functions with a complex output argument
+                       to permit aliasing it with input arguments.
+                       (For now, at least, this is just for possible
+                       benefit of g77.)
+       4 April 1997: [cz]_div.c: tweaks invisible on most systems (that may
+                       affect systems using gratuitous extra precision).
+       19 Sept. 1997: [de]time_.c (Unix systems only): change return
+                       type to double.
+       2 May 1999:     getenv_.c: omit environ in favor of getenv().
+                       c_cos.c, c_exp.c, c_sin.c, d_cnjg.c, r_cnjg.c,
+                       z_cos.c, z_exp.c, z_log.c, z_sin.c: cope fully with
+                       overlapping arguments caused by equivalence.
+       3 May 1999:     "invisible" tweaks to omit compiler warnings in
+                       abort_.c, ef1asc_.c, s_rnge.c, s_stop.c.
+       7 Sept. 1999: [cz]_div.c: arrange for compilation under
+                       -DIEEE_COMPLEX_DIVIDE to make these routines
+                       avoid calling sig_die when the denominator
+                       vanishes; instead, they return pairs of NaNs
+                       or Infinities, depending whether the numerator
+                       also vanishes or not.  VERSION not changed.
+       15 Nov. 1999: s_rnge.c: add casts for the case of
+                       sizeof(ftnint) == sizeof(int) < sizeof(long).
+       10 March 2000: z_log.c: improve accuracy of Real(log(z)) for, e.g.,
+                       z near (+-1,eps) with |eps| small.  For the old
+                       evaluation, compile with -DPre20000310 .
+       20 April 2000: s_cat.c: tweak argument types to accord with
+                       calls by f2c when ftnint and ftnlen are of
+                       different sizes (different numbers of bits).
+       4 July 2000: adjustments to permit compilation by C++ compilers;
+                       VERSION string remains unchanged. NOT APPLIED FOR G77.
+       29 Sept. 2000: dtime_.c, etime_.c: use floating-point divide.
+                       dtime_.d, erf_.c, erfc_.c, etime.c: for use with
+                       "f2c -R", compile with -DREAL=float.
+*/
+
+#include <stdio.h>
+
+void
+g77__fvers__ ()
+{
+  fputs ("GNU Fortran library.\n", stderr);
+#if defined __GNUC__ && defined __VERSION__
+  fprintf (stderr, "Compiled by GCC %s\n", __VERSION__);
+#endif
+  fputs (__LIBF77_VERSION__, stderr);
+  fputs (__LIBI77_VERSION__, stderr);
+  fputs (__LIBU77_VERSION__, stderr);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/abort_.c b/contrib/gcc-3.4/libf2c/libF77/abort_.c
new file mode 100644 (file)
index 0000000..761bc3b
--- /dev/null
@@ -0,0 +1,11 @@
+#include <stdio.h>
+#include "f2c.h"
+
+extern void sig_die (char *, int);
+
+int
+G77_abort_0 (void)
+{
+  sig_die ("Fortran abort routine called", 1);
+  return 0;                    /* not reached */
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/c_abs.c b/contrib/gcc-3.4/libf2c/libF77/c_abs.c
new file mode 100644 (file)
index 0000000..3fc4d7c
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+extern double f__cabs (double, double);
+
+double
+c_abs (complex * z)
+{
+  return (f__cabs (z->r, z->i));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/c_cos.c b/contrib/gcc-3.4/libf2c/libF77/c_cos.c
new file mode 100644 (file)
index 0000000..5965975
--- /dev/null
@@ -0,0 +1,12 @@
+#include "f2c.h"
+
+#undef abs
+#include "math.h"
+
+void
+c_cos (complex * r, complex * z)
+{
+  double zi = z->i, zr = z->r;
+  r->r = cos (zr) * cosh (zi);
+  r->i = -sin (zr) * sinh (zi);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/c_div.c b/contrib/gcc-3.4/libf2c/libF77/c_div.c
new file mode 100644 (file)
index 0000000..b5ede0e
--- /dev/null
@@ -0,0 +1,43 @@
+#include "f2c.h"
+
+extern void sig_die (char *, int);
+void
+c_div (complex * c, complex * a, complex * b)
+{
+  double ratio, den;
+  double abr, abi, cr;
+
+  if ((abr = b->r) < 0.)
+    abr = -abr;
+  if ((abi = b->i) < 0.)
+    abi = -abi;
+  if (abr <= abi)
+    {
+      if (abi == 0)
+       {
+#ifdef IEEE_COMPLEX_DIVIDE
+         float af, bf;
+         af = bf = abr;
+         if (a->i != 0 || a->r != 0)
+           af = 1.;
+         c->i = c->r = af / bf;
+         return;
+#else
+         sig_die ("complex division by zero", 1);
+#endif
+       }
+      ratio = (double) b->r / b->i;
+      den = b->i * (1 + ratio * ratio);
+      cr = (a->r * ratio + a->i) / den;
+      c->i = (a->i * ratio - a->r) / den;
+    }
+
+  else
+    {
+      ratio = (double) b->i / b->r;
+      den = b->r * (1 + ratio * ratio);
+      cr = (a->r + a->i * ratio) / den;
+      c->i = (a->i - a->r * ratio) / den;
+    }
+  c->r = cr;
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/c_exp.c b/contrib/gcc-3.4/libf2c/libF77/c_exp.c
new file mode 100644 (file)
index 0000000..56a8695
--- /dev/null
@@ -0,0 +1,14 @@
+#include "f2c.h"
+
+#undef abs
+#include "math.h"
+
+void
+c_exp (complex * r, complex * z)
+{
+  double expx, zi = z->i;
+
+  expx = exp (z->r);
+  r->r = expx * cos (zi);
+  r->i = expx * sin (zi);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/c_log.c b/contrib/gcc-3.4/libf2c/libF77/c_log.c
new file mode 100644 (file)
index 0000000..7d5b951
--- /dev/null
@@ -0,0 +1,13 @@
+#include "f2c.h"
+
+#undef abs
+#include "math.h"
+extern double f__cabs (double, double);
+
+void
+c_log (complex * r, complex * z)
+{
+  double zi, zr;
+  r->i = atan2 (zi = z->i, zr = z->r);
+  r->r = log (f__cabs (zr, zi));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/c_sin.c b/contrib/gcc-3.4/libf2c/libF77/c_sin.c
new file mode 100644 (file)
index 0000000..44bce9f
--- /dev/null
@@ -0,0 +1,12 @@
+#include "f2c.h"
+
+#undef abs
+#include "math.h"
+
+void
+c_sin (complex * r, complex * z)
+{
+  double zi = z->i, zr = z->r;
+  r->r = sin (zr) * cosh (zi);
+  r->i = cos (zr) * sinh (zi);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/c_sqrt.c b/contrib/gcc-3.4/libf2c/libF77/c_sqrt.c
new file mode 100644 (file)
index 0000000..81b72fc
--- /dev/null
@@ -0,0 +1,30 @@
+#include "f2c.h"
+
+#undef abs
+#include "math.h"
+extern double f__cabs (double, double);
+
+void
+c_sqrt (complex * r, complex * z)
+{
+  double mag, t;
+  double zi = z->i, zr = z->r;
+
+  if ((mag = f__cabs (zr, zi)) == 0.)
+    r->r = r->i = 0.;
+  else if (zr > 0)
+    {
+      r->r = t = sqrt (0.5 * (mag + zr));
+      t = zi / t;
+      r->i = 0.5 * t;
+    }
+  else
+    {
+      t = sqrt (0.5 * (mag - zr));
+      if (zi < 0)
+       t = -t;
+      r->i = t;
+      t = zi / t;
+      r->r = 0.5 * t;
+    }
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/cabs.c b/contrib/gcc-3.4/libf2c/libF77/cabs.c
new file mode 100644 (file)
index 0000000..5d2142e
--- /dev/null
@@ -0,0 +1,24 @@
+#undef abs
+#include <math.h>
+double
+f__cabs (double real, double imag)
+{
+  double temp;
+
+  if (real < 0)
+    real = -real;
+  if (imag < 0)
+    imag = -imag;
+  if (imag > real)
+    {
+      temp = real;
+      real = imag;
+      imag = temp;
+    }
+  if ((real + imag) == real)
+    return (real);
+
+  temp = imag / real;
+  temp = real * sqrt (1.0 + temp * temp);      /*overflow!! */
+  return (temp);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_abs.c b/contrib/gcc-3.4/libf2c/libF77/d_abs.c
new file mode 100644 (file)
index 0000000..a43a5c7
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+double
+d_abs (doublereal * x)
+{
+  if (*x >= 0)
+    return (*x);
+  return (-*x);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_acos.c b/contrib/gcc-3.4/libf2c/libF77/d_acos.c
new file mode 100644 (file)
index 0000000..41c4f17
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_acos (doublereal * x)
+{
+  return (acos (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_asin.c b/contrib/gcc-3.4/libf2c/libF77/d_asin.c
new file mode 100644 (file)
index 0000000..6560389
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_asin (doublereal * x)
+{
+  return (asin (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_atan.c b/contrib/gcc-3.4/libf2c/libF77/d_atan.c
new file mode 100644 (file)
index 0000000..e25fa2e
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_atan (doublereal * x)
+{
+  return (atan (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_atn2.c b/contrib/gcc-3.4/libf2c/libF77/d_atn2.c
new file mode 100644 (file)
index 0000000..e0b2178
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_atn2 (doublereal * x, doublereal * y)
+{
+  return (atan2 (*x, *y));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_cnjg.c b/contrib/gcc-3.4/libf2c/libF77/d_cnjg.c
new file mode 100644 (file)
index 0000000..bc46ae6
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+void
+d_cnjg (doublecomplex * r, doublecomplex * z)
+{
+  doublereal zi = z->i;
+  r->r = z->r;
+  r->i = -zi;
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_cos.c b/contrib/gcc-3.4/libf2c/libF77/d_cos.c
new file mode 100644 (file)
index 0000000..010db6b
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_cos (doublereal * x)
+{
+  return (cos (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_cosh.c b/contrib/gcc-3.4/libf2c/libF77/d_cosh.c
new file mode 100644 (file)
index 0000000..00938bd
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_cosh (doublereal * x)
+{
+  return (cosh (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_dim.c b/contrib/gcc-3.4/libf2c/libF77/d_dim.c
new file mode 100644 (file)
index 0000000..a4274ca
--- /dev/null
@@ -0,0 +1,7 @@
+#include "f2c.h"
+
+double
+d_dim (doublereal * a, doublereal * b)
+{
+  return (*a > *b ? *a - *b : 0);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_exp.c b/contrib/gcc-3.4/libf2c/libF77/d_exp.c
new file mode 100644 (file)
index 0000000..7b4f3e5
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_exp (doublereal * x)
+{
+  return (exp (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_imag.c b/contrib/gcc-3.4/libf2c/libF77/d_imag.c
new file mode 100644 (file)
index 0000000..cc93764
--- /dev/null
@@ -0,0 +1,7 @@
+#include "f2c.h"
+
+double
+d_imag (doublecomplex * z)
+{
+  return (z->i);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_int.c b/contrib/gcc-3.4/libf2c/libF77/d_int.c
new file mode 100644 (file)
index 0000000..f7ab8b0
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_int (doublereal * x)
+{
+  return ((*x > 0) ? floor (*x) : -floor (-*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_lg10.c b/contrib/gcc-3.4/libf2c/libF77/d_lg10.c
new file mode 100644 (file)
index 0000000..d0f86e5
--- /dev/null
@@ -0,0 +1,11 @@
+#include "f2c.h"
+
+#define log10e 0.43429448190325182765
+
+#undef abs
+#include <math.h>
+double
+d_lg10 (doublereal * x)
+{
+  return (log10e * log (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_log.c b/contrib/gcc-3.4/libf2c/libF77/d_log.c
new file mode 100644 (file)
index 0000000..95dc767
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_log (doublereal * x)
+{
+  return (log (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_mod.c b/contrib/gcc-3.4/libf2c/libF77/d_mod.c
new file mode 100644 (file)
index 0000000..15cedef
--- /dev/null
@@ -0,0 +1,33 @@
+#include "f2c.h"
+
+#ifdef IEEE_drem
+double drem (double, double);
+#else
+#undef abs
+#include <math.h>
+#endif
+double
+d_mod (doublereal * x, doublereal * y)
+{
+#ifdef IEEE_drem
+  double xa, ya, z;
+  if ((ya = *y) < 0.)
+    ya = -ya;
+  z = drem (xa = *x, ya);
+  if (xa > 0)
+    {
+      if (z < 0)
+       z += ya;
+    }
+  else if (z > 0)
+    z -= ya;
+  return z;
+#else
+  double quotient;
+  if ((quotient = *x / *y) >= 0)
+    quotient = floor (quotient);
+  else
+    quotient = -floor (-quotient);
+  return (*x - (*y) * quotient);
+#endif
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_nint.c b/contrib/gcc-3.4/libf2c/libF77/d_nint.c
new file mode 100644 (file)
index 0000000..8be4275
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_nint (doublereal * x)
+{
+  return ((*x) >= 0 ? floor (*x + .5) : -floor (.5 - *x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_prod.c b/contrib/gcc-3.4/libf2c/libF77/d_prod.c
new file mode 100644 (file)
index 0000000..11fe2c7
--- /dev/null
@@ -0,0 +1,7 @@
+#include "f2c.h"
+
+double
+d_prod (real * x, real * y)
+{
+  return ((*x) * (*y));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_sign.c b/contrib/gcc-3.4/libf2c/libF77/d_sign.c
new file mode 100644 (file)
index 0000000..da8d24b
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+double
+d_sign (doublereal * a, doublereal * b)
+{
+  double x;
+  x = (*a >= 0 ? *a : -*a);
+  return (*b >= 0 ? x : -x);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_sin.c b/contrib/gcc-3.4/libf2c/libF77/d_sin.c
new file mode 100644 (file)
index 0000000..24b37a4
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_sin (doublereal * x)
+{
+  return (sin (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_sinh.c b/contrib/gcc-3.4/libf2c/libF77/d_sinh.c
new file mode 100644 (file)
index 0000000..dc9dc43
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_sinh (doublereal * x)
+{
+  return (sinh (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_sqrt.c b/contrib/gcc-3.4/libf2c/libF77/d_sqrt.c
new file mode 100644 (file)
index 0000000..0a45882
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_sqrt (doublereal * x)
+{
+  return (sqrt (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_tan.c b/contrib/gcc-3.4/libf2c/libF77/d_tan.c
new file mode 100644 (file)
index 0000000..370c1b8
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_tan (doublereal * x)
+{
+  return (tan (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/d_tanh.c b/contrib/gcc-3.4/libf2c/libF77/d_tanh.c
new file mode 100644 (file)
index 0000000..df81ea0
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+d_tanh (doublereal * x)
+{
+  return (tanh (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/derf_.c b/contrib/gcc-3.4/libf2c/libF77/derf_.c
new file mode 100644 (file)
index 0000000..b78fde0
--- /dev/null
@@ -0,0 +1,8 @@
+#include "f2c.h"
+
+extern double erf (double);
+double
+G77_derf_0 (doublereal * x)
+{
+  return (erf (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/derfc_.c b/contrib/gcc-3.4/libf2c/libF77/derfc_.c
new file mode 100644 (file)
index 0000000..78e8e88
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+extern double erfc (double);
+
+double
+G77_derfc_0 (doublereal * x)
+{
+  return (erfc (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/ef1asc_.c b/contrib/gcc-3.4/libf2c/libF77/ef1asc_.c
new file mode 100644 (file)
index 0000000..d9bea34
--- /dev/null
@@ -0,0 +1,15 @@
+/* EFL support routine to copy string b to string a */
+
+#include "f2c.h"
+
+
+#define M      ( (long) (sizeof(long) - 1) )
+#define EVEN(x)        ( ( (x)+ M) & (~M) )
+
+extern void s_copy (char *, char *, ftnlen, ftnlen);
+int
+G77_ef1asc_0 (ftnint * a, ftnlen * la, ftnint * b, ftnlen * lb)
+{
+  s_copy ((char *) a, (char *) b, EVEN (*la), *lb);
+  return 0;                    /* ignored return value */
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/ef1cmc_.c b/contrib/gcc-3.4/libf2c/libF77/ef1cmc_.c
new file mode 100644 (file)
index 0000000..2e102fb
--- /dev/null
@@ -0,0 +1,10 @@
+/* EFL support routine to compare two character strings */
+
+#include "f2c.h"
+
+extern integer s_cmp (char *, char *, ftnlen, ftnlen);
+integer
+G77_ef1cmc_0 (ftnint * a, ftnlen * la, ftnint * b, ftnlen * lb)
+{
+  return (s_cmp ((char *) a, (char *) b, *la, *lb));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/erf_.c b/contrib/gcc-3.4/libf2c/libF77/erf_.c
new file mode 100644 (file)
index 0000000..fadbfaf
--- /dev/null
@@ -0,0 +1,8 @@
+#include "f2c.h"
+
+extern double erf (double);
+double
+G77_erf_0 (real * x)
+{
+  return (erf (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/erfc_.c b/contrib/gcc-3.4/libf2c/libF77/erfc_.c
new file mode 100644 (file)
index 0000000..7f3ff8a
--- /dev/null
@@ -0,0 +1,8 @@
+#include "f2c.h"
+
+extern double erfc (double);
+double
+G77_erfc_0 (real * x)
+{
+  return (erfc (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/exit_.c b/contrib/gcc-3.4/libf2c/libF77/exit_.c
new file mode 100644 (file)
index 0000000..adf3d85
--- /dev/null
@@ -0,0 +1,25 @@
+/* This gives the effect of
+
+       subroutine exit(rc)
+       integer*4 rc
+       stop
+       end
+
+ * with the added side effect of supplying rc as the program's exit code.
+ */
+
+#include "f2c.h"
+#undef abs
+#undef min
+#undef max
+#include <stdlib.h>
+extern void f_exit (void);
+
+void
+G77_exit_0 (integer * rc)
+{
+#ifdef NO_ONEXIT
+  f_exit ();
+#endif
+  exit (*rc);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/getarg_.c b/contrib/gcc-3.4/libf2c/libF77/getarg_.c
new file mode 100644 (file)
index 0000000..b35043b
--- /dev/null
@@ -0,0 +1,25 @@
+#include "f2c.h"
+
+/*
+ * subroutine getarg(k, c)
+ * returns the kth unix command argument in fortran character
+ * variable argument c
+*/
+
+void
+G77_getarg_0 (ftnint * n, register char *s, ftnlen ls)
+{
+  extern int f__xargc;
+  extern char **f__xargv;
+  register char *t;
+  register int i;
+
+  if (*n >= 0 && *n < f__xargc)
+    t = f__xargv[*n];
+  else
+    t = "";
+  for (i = 0; i < ls && *t != '\0'; ++i)
+    *s++ = *t++;
+  for (; i < ls; ++i)
+    *s++ = ' ';
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/getenv_.c b/contrib/gcc-3.4/libf2c/libF77/getenv_.c
new file mode 100644 (file)
index 0000000..4067b8c
--- /dev/null
@@ -0,0 +1,49 @@
+#include "f2c.h"
+#undef abs
+#include <stdlib.h>
+#include <string.h>
+extern char *F77_aloc (ftnlen, char *);
+
+/*
+ * getenv - f77 subroutine to return environment variables
+ *
+ * called by:
+ *     call getenv (ENV_NAME, char_var)
+ * where:
+ *     ENV_NAME is the name of an environment variable
+ *     char_var is a character variable which will receive
+ *             the current value of ENV_NAME, or all blanks
+ *             if ENV_NAME is not defined
+ */
+
+void
+G77_getenv_0 (char *fname, char *value, ftnlen flen, ftnlen vlen)
+{
+  char buf[256], *ep, *fp;
+  integer i;
+
+  if (flen <= 0)
+    goto add_blanks;
+  for (i = 0; i < (integer) sizeof (buf); i++)
+    {
+      if (i == flen || (buf[i] = fname[i]) == ' ')
+       {
+         buf[i] = 0;
+         ep = getenv (buf);
+         goto have_ep;
+       }
+    }
+  while (i < flen && fname[i] != ' ')
+    i++;
+  strncpy (fp = F77_aloc (i + 1, "getenv_"), fname, (int) i);
+  fp[i] = 0;
+  ep = getenv (fp);
+  free (fp);
+have_ep:
+  if (ep)
+    while (*ep && vlen-- > 0)
+      *value++ = *ep++;
+add_blanks:
+  while (vlen-- > 0)
+    *value++ = ' ';
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/h_abs.c b/contrib/gcc-3.4/libf2c/libF77/h_abs.c
new file mode 100644 (file)
index 0000000..9db19ca
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+shortint
+h_abs (shortint * x)
+{
+  if (*x >= 0)
+    return (*x);
+  return (-*x);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/h_dim.c b/contrib/gcc-3.4/libf2c/libF77/h_dim.c
new file mode 100644 (file)
index 0000000..1519478
--- /dev/null
@@ -0,0 +1,7 @@
+#include "f2c.h"
+
+shortint
+h_dim (shortint * a, shortint * b)
+{
+  return (*a > *b ? *a - *b : 0);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/h_dnnt.c b/contrib/gcc-3.4/libf2c/libF77/h_dnnt.c
new file mode 100644 (file)
index 0000000..46c83bb
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+shortint
+h_dnnt (doublereal * x)
+{
+  return (shortint) (*x >= 0. ? floor (*x + .5) : -floor (.5 - *x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/h_indx.c b/contrib/gcc-3.4/libf2c/libF77/h_indx.c
new file mode 100644 (file)
index 0000000..2353b2b
--- /dev/null
@@ -0,0 +1,23 @@
+#include "f2c.h"
+
+shortint
+h_indx (char *a, char *b, ftnlen la, ftnlen lb)
+{
+  ftnlen i, n;
+  char *s, *t, *bend;
+
+  n = la - lb + 1;
+  bend = b + lb;
+
+  for (i = 0; i < n; ++i)
+    {
+      s = a + i;
+      t = b;
+      while (t < bend)
+       if (*s++ != *t++)
+         goto no;
+      return ((shortint) i + 1);
+    no:;
+    }
+  return (0);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/h_len.c b/contrib/gcc-3.4/libf2c/libF77/h_len.c
new file mode 100644 (file)
index 0000000..506016e
--- /dev/null
@@ -0,0 +1,7 @@
+#include "f2c.h"
+
+shortint
+h_len (char *s __attribute__ ((__unused__)), ftnlen n)
+{
+  return (n);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/h_mod.c b/contrib/gcc-3.4/libf2c/libF77/h_mod.c
new file mode 100644 (file)
index 0000000..c04e0df
--- /dev/null
@@ -0,0 +1,7 @@
+#include "f2c.h"
+
+shortint
+h_mod (short *a, short *b)
+{
+  return (*a % *b);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/h_nint.c b/contrib/gcc-3.4/libf2c/libF77/h_nint.c
new file mode 100644 (file)
index 0000000..a8c366a
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+shortint
+h_nint (real * x)
+{
+  return (shortint) (*x >= 0 ? floor (*x + .5) : -floor (.5 - *x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/h_sign.c b/contrib/gcc-3.4/libf2c/libF77/h_sign.c
new file mode 100644 (file)
index 0000000..7040232
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+shortint
+h_sign (shortint * a, shortint * b)
+{
+  shortint x;
+  x = (*a >= 0 ? *a : -*a);
+  return (*b >= 0 ? x : -x);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/hl_ge.c b/contrib/gcc-3.4/libf2c/libF77/hl_ge.c
new file mode 100644 (file)
index 0000000..988686d
--- /dev/null
@@ -0,0 +1,8 @@
+#include "f2c.h"
+
+extern integer s_cmp (char *, char *, ftnlen, ftnlen);
+shortlogical
+hl_ge (char *a, char *b, ftnlen la, ftnlen lb)
+{
+  return (s_cmp (a, b, la, lb) >= 0);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/hl_gt.c b/contrib/gcc-3.4/libf2c/libF77/hl_gt.c
new file mode 100644 (file)
index 0000000..0024ca7
--- /dev/null
@@ -0,0 +1,8 @@
+#include "f2c.h"
+
+extern integer s_cmp (char *, char *, ftnlen, ftnlen);
+shortlogical
+hl_gt (char *a, char *b, ftnlen la, ftnlen lb)
+{
+  return (s_cmp (a, b, la, lb) > 0);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/hl_le.c b/contrib/gcc-3.4/libf2c/libF77/hl_le.c
new file mode 100644 (file)
index 0000000..76aa3e1
--- /dev/null
@@ -0,0 +1,8 @@
+#include "f2c.h"
+
+extern integer s_cmp (char *, char *, ftnlen, ftnlen);
+shortlogical
+hl_le (char *a, char *b, ftnlen la, ftnlen lb)
+{
+  return (s_cmp (a, b, la, lb) <= 0);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/hl_lt.c b/contrib/gcc-3.4/libf2c/libF77/hl_lt.c
new file mode 100644 (file)
index 0000000..68a47fa
--- /dev/null
@@ -0,0 +1,8 @@
+#include "f2c.h"
+
+extern integer s_cmp (char *, char *, ftnlen, ftnlen);
+shortlogical
+hl_lt (char *a, char *b, ftnlen la, ftnlen lb)
+{
+  return (s_cmp (a, b, la, lb) < 0);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/i_abs.c b/contrib/gcc-3.4/libf2c/libF77/i_abs.c
new file mode 100644 (file)
index 0000000..2ed183a
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+integer
+i_abs (integer * x)
+{
+  if (*x >= 0)
+    return (*x);
+  return (-*x);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/i_dim.c b/contrib/gcc-3.4/libf2c/libF77/i_dim.c
new file mode 100644 (file)
index 0000000..66ef7c9
--- /dev/null
@@ -0,0 +1,7 @@
+#include "f2c.h"
+
+integer
+i_dim (integer * a, integer * b)
+{
+  return (*a > *b ? *a - *b : 0);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/i_dnnt.c b/contrib/gcc-3.4/libf2c/libF77/i_dnnt.c
new file mode 100644 (file)
index 0000000..7a3783d
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+integer
+i_dnnt (doublereal * x)
+{
+  return (integer) (*x >= 0. ? floor (*x + .5) : -floor (.5 - *x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/i_indx.c b/contrib/gcc-3.4/libf2c/libF77/i_indx.c
new file mode 100644 (file)
index 0000000..5b8e136
--- /dev/null
@@ -0,0 +1,23 @@
+#include "f2c.h"
+
+integer
+i_indx (char *a, char *b, ftnlen la, ftnlen lb)
+{
+  ftnlen i, n;
+  char *s, *t, *bend;
+
+  n = la - lb + 1;
+  bend = b + lb;
+
+  for (i = 0; i < n; ++i)
+    {
+      s = a + i;
+      t = b;
+      while (t < bend)
+       if (*s++ != *t++)
+         goto no;
+      return (i + 1);
+    no:;
+    }
+  return (0);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/i_len.c b/contrib/gcc-3.4/libf2c/libF77/i_len.c
new file mode 100644 (file)
index 0000000..2d5a3a4
--- /dev/null
@@ -0,0 +1,7 @@
+#include "f2c.h"
+
+integer
+i_len (char *s __attribute__ ((__unused__)), ftnlen n)
+{
+  return (n);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/i_mod.c b/contrib/gcc-3.4/libf2c/libF77/i_mod.c
new file mode 100644 (file)
index 0000000..7ed7b39
--- /dev/null
@@ -0,0 +1,7 @@
+#include "f2c.h"
+
+integer
+i_mod (integer * a, integer * b)
+{
+  return (*a % *b);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/i_nint.c b/contrib/gcc-3.4/libf2c/libF77/i_nint.c
new file mode 100644 (file)
index 0000000..c4eaff4
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+integer
+i_nint (real * x)
+{
+  return (integer) (*x >= 0 ? floor (*x + .5) : -floor (.5 - *x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/i_sign.c b/contrib/gcc-3.4/libf2c/libF77/i_sign.c
new file mode 100644 (file)
index 0000000..cf09008
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+integer
+i_sign (integer * a, integer * b)
+{
+  integer x;
+  x = (*a >= 0 ? *a : -*a);
+  return (*b >= 0 ? x : -x);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/iargc_.c b/contrib/gcc-3.4/libf2c/libF77/iargc_.c
new file mode 100644 (file)
index 0000000..c316570
--- /dev/null
@@ -0,0 +1,8 @@
+#include "f2c.h"
+
+ftnint
+G77_iargc_0 (void)
+{
+  extern int f__xargc;
+  return (f__xargc - 1);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/l_ge.c b/contrib/gcc-3.4/libf2c/libF77/l_ge.c
new file mode 100644 (file)
index 0000000..78af8d0
--- /dev/null
@@ -0,0 +1,8 @@
+#include "f2c.h"
+
+extern integer s_cmp (char *, char *, ftnlen, ftnlen);
+logical
+l_ge (char *a, char *b, ftnlen la, ftnlen lb)
+{
+  return (s_cmp (a, b, la, lb) >= 0);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/l_gt.c b/contrib/gcc-3.4/libf2c/libF77/l_gt.c
new file mode 100644 (file)
index 0000000..be7e489
--- /dev/null
@@ -0,0 +1,8 @@
+#include "f2c.h"
+
+extern integer s_cmp (char *, char *, ftnlen, ftnlen);
+logical
+l_gt (char *a, char *b, ftnlen la, ftnlen lb)
+{
+  return (s_cmp (a, b, la, lb) > 0);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/l_le.c b/contrib/gcc-3.4/libf2c/libF77/l_le.c
new file mode 100644 (file)
index 0000000..d2886fb
--- /dev/null
@@ -0,0 +1,8 @@
+#include "f2c.h"
+
+extern integer s_cmp (char *, char *, ftnlen, ftnlen);
+logical
+l_le (char *a, char *b, ftnlen la, ftnlen lb)
+{
+  return (s_cmp (a, b, la, lb) <= 0);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/l_lt.c b/contrib/gcc-3.4/libf2c/libF77/l_lt.c
new file mode 100644 (file)
index 0000000..ff151f8
--- /dev/null
@@ -0,0 +1,8 @@
+#include "f2c.h"
+
+extern integer s_cmp (char *, char *, ftnlen, ftnlen);
+logical
+l_lt (char *a, char *b, ftnlen la, ftnlen lb)
+{
+  return (s_cmp (a, b, la, lb) < 0);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/lbitbits.c b/contrib/gcc-3.4/libf2c/libF77/lbitbits.c
new file mode 100644 (file)
index 0000000..3b28ae9
--- /dev/null
@@ -0,0 +1,58 @@
+#include "f2c.h"
+
+#ifndef LONGBITS
+#define LONGBITS 32
+#endif
+
+integer
+lbit_bits (integer a, integer b, integer len)
+{
+  /* Assume 2's complement arithmetic */
+
+  unsigned long x, y;
+
+  x = (unsigned long) a;
+  y = (unsigned long) -1L;
+  x >>= b;
+  y <<= len;
+  return (integer) (x & ~y);
+}
+
+integer
+lbit_cshift (integer a, integer b, integer len)
+{
+  unsigned long x, y, z;
+
+  x = (unsigned long) a;
+  if (len <= 0)
+    {
+      if (len == 0)
+       return 0;
+      goto full_len;
+    }
+  if (len >= LONGBITS)
+    {
+    full_len:
+      if (b >= 0)
+       {
+         b %= LONGBITS;
+         return (integer) (x << b | x >> (LONGBITS - b));
+       }
+      b = -b;
+      b %= LONGBITS;
+      return (integer) (x << (LONGBITS - b) | x >> b);
+    }
+  y = z = (unsigned long) -1;
+  y <<= len;
+  z &= ~y;
+  y &= x;
+  x &= z;
+  if (b >= 0)
+    {
+      b %= len;
+      return (integer) (y | (z & (x << b | x >> (len - b))));
+    }
+  b = -b;
+  b %= len;
+  return (integer) (y | (z & (x >> b | x << (len - b))));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/lbitshft.c b/contrib/gcc-3.4/libf2c/libF77/lbitshft.c
new file mode 100644 (file)
index 0000000..bfbb7c0
--- /dev/null
@@ -0,0 +1,7 @@
+#include "f2c.h"
+
+integer
+lbit_shift (integer a, integer b)
+{
+  return b >= 0 ? a << b : (integer) ((uinteger) a >> -b);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/main.c b/contrib/gcc-3.4/libf2c/libF77/main.c
new file mode 100644 (file)
index 0000000..a3955cb
--- /dev/null
@@ -0,0 +1,35 @@
+/* STARTUP PROCEDURE FOR UNIX FORTRAN PROGRAMS */
+
+#include <stdio.h>
+#include "signal1.h"
+
+#include <stdlib.h>
+
+extern void f_exit (void);
+#ifndef NO_ONEXIT
+#define ONEXIT atexit
+extern int atexit (void (*)(void));
+#endif
+
+extern void f_init (void);
+extern int MAIN__ (void);
+extern void f_setarg (int, char **);
+extern void f_setsig (void);
+
+int
+main (int argc, char **argv)
+{
+  f_setarg (argc, argv);
+  f_setsig ();
+  f_init ();
+#ifndef NO_ONEXIT
+  ONEXIT (f_exit);
+#endif
+  MAIN__ ();
+#ifdef NO_ONEXIT
+  f_exit ();
+#endif
+  exit (0);                    /* exit(0) rather than return(0) to bypass Cray bug */
+  return 0;                    /* For compilers that complain of missing return values; */
+  /* others will complain that this is unreachable code. */
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/pow_ci.c b/contrib/gcc-3.4/libf2c/libF77/pow_ci.c
new file mode 100644 (file)
index 0000000..1df3eb3
--- /dev/null
@@ -0,0 +1,16 @@
+#include "f2c.h"
+
+extern void pow_zi (doublecomplex *, doublecomplex *, integer *);
+void
+pow_ci (complex * p, complex * a, integer * b) /* p = a**b  */
+{
+  doublecomplex p1, a1;
+
+  a1.r = a->r;
+  a1.i = a->i;
+
+  pow_zi (&p1, &a1, b);
+
+  p->r = p1.r;
+  p->i = p1.i;
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/pow_dd.c b/contrib/gcc-3.4/libf2c/libF77/pow_dd.c
new file mode 100644 (file)
index 0000000..0ab208e
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+pow_dd (doublereal * ap, doublereal * bp)
+{
+  return (pow (*ap, *bp));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/pow_di.c b/contrib/gcc-3.4/libf2c/libF77/pow_di.c
new file mode 100644 (file)
index 0000000..d2298a0
--- /dev/null
@@ -0,0 +1,32 @@
+#include "f2c.h"
+
+double
+pow_di (doublereal * ap, integer * bp)
+{
+  double pow, x;
+  integer n;
+  unsigned long u;
+
+  pow = 1;
+  x = *ap;
+  n = *bp;
+
+  if (n != 0)
+    {
+      if (n < 0)
+       {
+         n = -n;
+         x = 1 / x;
+       }
+      for (u = n;;)
+       {
+         if (u & 01)
+           pow *= x;
+         if (u >>= 1)
+           x *= x;
+         else
+           break;
+       }
+    }
+  return (pow);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/pow_hh.c b/contrib/gcc-3.4/libf2c/libF77/pow_hh.c
new file mode 100644 (file)
index 0000000..3379d8a
--- /dev/null
@@ -0,0 +1,31 @@
+#include "f2c.h"
+
+shortint
+pow_hh (shortint * ap, shortint * bp)
+{
+  shortint pow, x, n;
+  unsigned u;
+
+  x = *ap;
+  n = *bp;
+
+  if (n <= 0)
+    {
+      if (n == 0 || x == 1)
+       return 1;
+      if (x != -1)
+       return x == 0 ? 1 / x : 0;
+      n = -n;
+    }
+  u = n;
+  for (pow = 1;;)
+    {
+      if (u & 01)
+       pow *= x;
+      if (u >>= 1)
+       x *= x;
+      else
+       break;
+    }
+  return (pow);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/pow_ii.c b/contrib/gcc-3.4/libf2c/libF77/pow_ii.c
new file mode 100644 (file)
index 0000000..9234745
--- /dev/null
@@ -0,0 +1,31 @@
+#include "f2c.h"
+
+integer
+pow_ii (integer * ap, integer * bp)
+{
+  integer pow, x, n;
+  unsigned long u;
+
+  x = *ap;
+  n = *bp;
+
+  if (n <= 0)
+    {
+      if (n == 0 || x == 1)
+       return 1;
+      if (x != -1)
+       return x == 0 ? 1 / x : 0;
+      n = -n;
+    }
+  u = n;
+  for (pow = 1;;)
+    {
+      if (u & 01)
+       pow *= x;
+      if (u >>= 1)
+       x *= x;
+      else
+       break;
+    }
+  return (pow);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/pow_qq.c b/contrib/gcc-3.4/libf2c/libF77/pow_qq.c
new file mode 100644 (file)
index 0000000..0cec5ca
--- /dev/null
@@ -0,0 +1,31 @@
+#include "f2c.h"
+
+longint
+pow_qq (longint * ap, longint * bp)
+{
+  longint pow, x, n;
+  unsigned long long u;                /* system-dependent */
+
+  x = *ap;
+  n = *bp;
+
+  if (n <= 0)
+    {
+      if (n == 0 || x == 1)
+       return 1;
+      if (x != -1)
+       return x == 0 ? 1 / x : 0;
+      n = -n;
+    }
+  u = n;
+  for (pow = 1;;)
+    {
+      if (u & 01)
+       pow *= x;
+      if (u >>= 1)
+       x *= x;
+      else
+       break;
+    }
+  return (pow);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/pow_ri.c b/contrib/gcc-3.4/libf2c/libF77/pow_ri.c
new file mode 100644 (file)
index 0000000..792db0c
--- /dev/null
@@ -0,0 +1,32 @@
+#include "f2c.h"
+
+double
+pow_ri (real * ap, integer * bp)
+{
+  double pow, x;
+  integer n;
+  unsigned long u;
+
+  pow = 1;
+  x = *ap;
+  n = *bp;
+
+  if (n != 0)
+    {
+      if (n < 0)
+       {
+         n = -n;
+         x = 1 / x;
+       }
+      for (u = n;;)
+       {
+         if (u & 01)
+           pow *= x;
+         if (u >>= 1)
+           x *= x;
+         else
+           break;
+       }
+    }
+  return (pow);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/pow_zi.c b/contrib/gcc-3.4/libf2c/libF77/pow_zi.c
new file mode 100644 (file)
index 0000000..214db3d
--- /dev/null
@@ -0,0 +1,50 @@
+#include "f2c.h"
+
+extern void z_div (doublecomplex *, doublecomplex *, doublecomplex *);
+void
+pow_zi (doublecomplex * p, doublecomplex * a, integer * b)     /* p = a**b  */
+{
+  integer n;
+  unsigned long u;
+  double t;
+  doublecomplex q, x;
+  static doublecomplex one = { 1.0, 0.0 };
+
+  n = *b;
+  q.r = 1;
+  q.i = 0;
+
+  if (n == 0)
+    goto done;
+  if (n < 0)
+    {
+      n = -n;
+      z_div (&x, &one, a);
+    }
+  else
+    {
+      x.r = a->r;
+      x.i = a->i;
+    }
+
+  for (u = n;;)
+    {
+      if (u & 01)
+       {
+         t = q.r * x.r - q.i * x.i;
+         q.i = q.r * x.i + q.i * x.r;
+         q.r = t;
+       }
+      if (u >>= 1)
+       {
+         t = x.r * x.r - x.i * x.i;
+         x.i = 2 * x.r * x.i;
+         x.r = t;
+       }
+      else
+       break;
+    }
+done:
+  p->i = q.i;
+  p->r = q.r;
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/pow_zz.c b/contrib/gcc-3.4/libf2c/libF77/pow_zz.c
new file mode 100644 (file)
index 0000000..d5cfbf3
--- /dev/null
@@ -0,0 +1,25 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+extern double f__cabs (double, double);
+void
+pow_zz (doublecomplex * r, doublecomplex * a, doublecomplex * b)
+{
+  double logr, logi, x, y;
+
+  if (a->r == 0.0 && a->i == 0.0)
+    {
+       /* Algorithm below doesn't cope.  */
+        r->r = r->i = 0.0;
+        return;
+    }
+  logr = log (f__cabs (a->r, a->i));
+  logi = atan2 (a->i, a->r);
+
+  x = exp (logr * b->r - logi * b->i);
+  y = logr * b->i + logi * b->r;
+
+  r->r = x * cos (y);
+  r->i = x * sin (y);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/qbitbits.c b/contrib/gcc-3.4/libf2c/libF77/qbitbits.c
new file mode 100644 (file)
index 0000000..f72858e
--- /dev/null
@@ -0,0 +1,62 @@
+#include "f2c.h"
+
+#ifndef LONGBITS
+#define LONGBITS 32
+#endif
+
+#ifndef LONG8BITS
+#define LONG8BITS (2*LONGBITS)
+#endif
+
+integer
+qbit_bits (longint a, integer b, integer len)
+{
+  /* Assume 2's complement arithmetic */
+
+  ulongint x, y;
+
+  x = (ulongint) a;
+  y = (ulongint) - 1L;
+  x >>= b;
+  y <<= len;
+  return (longint) (x & y);
+}
+
+longint
+qbit_cshift (longint a, integer b, integer len)
+{
+  ulongint x, y, z;
+
+  x = (ulongint) a;
+  if (len <= 0)
+    {
+      if (len == 0)
+       return 0;
+      goto full_len;
+    }
+  if (len >= LONG8BITS)
+    {
+    full_len:
+      if (b >= 0)
+       {
+         b %= LONG8BITS;
+         return (longint) (x << b | x >> (LONG8BITS - b));
+       }
+      b = -b;
+      b %= LONG8BITS;
+      return (longint) (x << (LONG8BITS - b) | x >> b);
+    }
+  y = z = (unsigned long) -1;
+  y <<= len;
+  z &= ~y;
+  y &= x;
+  x &= z;
+  if (b >= 0)
+    {
+      b %= len;
+      return (longint) (y | (z & (x << b | x >> (len - b))));
+    }
+  b = -b;
+  b %= len;
+  return (longint) (y | (z & (x >> b | x << (len - b))));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/qbitshft.c b/contrib/gcc-3.4/libf2c/libF77/qbitshft.c
new file mode 100644 (file)
index 0000000..ce740ed
--- /dev/null
@@ -0,0 +1,7 @@
+#include "f2c.h"
+
+longint
+qbit_shift (longint a, integer b)
+{
+  return b >= 0 ? a << b : (longint) ((ulongint) a >> -b);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_abs.c b/contrib/gcc-3.4/libf2c/libF77/r_abs.c
new file mode 100644 (file)
index 0000000..6f62724
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+double
+r_abs (real * x)
+{
+  if (*x >= 0)
+    return (*x);
+  return (-*x);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_acos.c b/contrib/gcc-3.4/libf2c/libF77/r_acos.c
new file mode 100644 (file)
index 0000000..d761cfd
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_acos (real * x)
+{
+  return (acos (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_asin.c b/contrib/gcc-3.4/libf2c/libF77/r_asin.c
new file mode 100644 (file)
index 0000000..b8c73c7
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_asin (real * x)
+{
+  return (asin (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_atan.c b/contrib/gcc-3.4/libf2c/libF77/r_atan.c
new file mode 100644 (file)
index 0000000..33a6589
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_atan (real * x)
+{
+  return (atan (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_atn2.c b/contrib/gcc-3.4/libf2c/libF77/r_atn2.c
new file mode 100644 (file)
index 0000000..076d874
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_atn2 (real * x, real * y)
+{
+  return (atan2 (*x, *y));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_cnjg.c b/contrib/gcc-3.4/libf2c/libF77/r_cnjg.c
new file mode 100644 (file)
index 0000000..5f84929
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+void
+r_cnjg (complex * r, complex * z)
+{
+  real zi = z->i;
+  r->r = z->r;
+  r->i = -zi;
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_cos.c b/contrib/gcc-3.4/libf2c/libF77/r_cos.c
new file mode 100644 (file)
index 0000000..ed556e8
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_cos (real * x)
+{
+  return (cos (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_cosh.c b/contrib/gcc-3.4/libf2c/libF77/r_cosh.c
new file mode 100644 (file)
index 0000000..b22e0cf
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_cosh (real * x)
+{
+  return (cosh (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_dim.c b/contrib/gcc-3.4/libf2c/libF77/r_dim.c
new file mode 100644 (file)
index 0000000..48d2fc7
--- /dev/null
@@ -0,0 +1,7 @@
+#include "f2c.h"
+
+double
+r_dim (real * a, real * b)
+{
+  return (*a > *b ? *a - *b : 0);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_exp.c b/contrib/gcc-3.4/libf2c/libF77/r_exp.c
new file mode 100644 (file)
index 0000000..7c1ceea
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_exp (real * x)
+{
+  return (exp (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_imag.c b/contrib/gcc-3.4/libf2c/libF77/r_imag.c
new file mode 100644 (file)
index 0000000..784abc8
--- /dev/null
@@ -0,0 +1,7 @@
+#include "f2c.h"
+
+double
+r_imag (complex * z)
+{
+  return (z->i);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_int.c b/contrib/gcc-3.4/libf2c/libF77/r_int.c
new file mode 100644 (file)
index 0000000..3c1b28e
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_int (real * x)
+{
+  return ((*x > 0) ? floor (*x) : -floor (-*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_lg10.c b/contrib/gcc-3.4/libf2c/libF77/r_lg10.c
new file mode 100644 (file)
index 0000000..563e73c
--- /dev/null
@@ -0,0 +1,11 @@
+#include "f2c.h"
+
+#define log10e 0.43429448190325182765
+
+#undef abs
+#include <math.h>
+double
+r_lg10 (real * x)
+{
+  return (log10e * log (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_log.c b/contrib/gcc-3.4/libf2c/libF77/r_log.c
new file mode 100644 (file)
index 0000000..eaaecc8
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_log (real * x)
+{
+  return (log (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_mod.c b/contrib/gcc-3.4/libf2c/libF77/r_mod.c
new file mode 100644 (file)
index 0000000..9518d66
--- /dev/null
@@ -0,0 +1,33 @@
+#include "f2c.h"
+
+#ifdef IEEE_drem
+double drem (double, double);
+#else
+#undef abs
+#include <math.h>
+#endif
+double
+r_mod (real * x, real * y)
+{
+#ifdef IEEE_drem
+  double xa, ya, z;
+  if ((ya = *y) < 0.)
+    ya = -ya;
+  z = drem (xa = *x, ya);
+  if (xa > 0)
+    {
+      if (z < 0)
+       z += ya;
+    }
+  else if (z > 0)
+    z -= ya;
+  return z;
+#else
+  double quotient;
+  if ((quotient = (double) *x / *y) >= 0)
+    quotient = floor (quotient);
+  else
+    quotient = -floor (-quotient);
+  return (*x - (*y) * quotient);
+#endif
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_nint.c b/contrib/gcc-3.4/libf2c/libF77/r_nint.c
new file mode 100644 (file)
index 0000000..f2713d5
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_nint (real * x)
+{
+  return ((*x) >= 0 ? floor (*x + .5) : -floor (.5 - *x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_sign.c b/contrib/gcc-3.4/libf2c/libF77/r_sign.c
new file mode 100644 (file)
index 0000000..f53c6bf
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+double
+r_sign (real * a, real * b)
+{
+  double x;
+  x = (*a >= 0 ? *a : -*a);
+  return (*b >= 0 ? x : -x);
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_sin.c b/contrib/gcc-3.4/libf2c/libF77/r_sin.c
new file mode 100644 (file)
index 0000000..5a5ef13
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_sin (real * x)
+{
+  return (sin (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_sinh.c b/contrib/gcc-3.4/libf2c/libF77/r_sinh.c
new file mode 100644 (file)
index 0000000..723c7ab
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_sinh (real * x)
+{
+  return (sinh (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_sqrt.c b/contrib/gcc-3.4/libf2c/libF77/r_sqrt.c
new file mode 100644 (file)
index 0000000..ed832ba
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_sqrt (real * x)
+{
+  return (sqrt (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_tan.c b/contrib/gcc-3.4/libf2c/libF77/r_tan.c
new file mode 100644 (file)
index 0000000..4ef913e
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_tan (real * x)
+{
+  return (tan (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/r_tanh.c b/contrib/gcc-3.4/libf2c/libF77/r_tanh.c
new file mode 100644 (file)
index 0000000..6f2552a
--- /dev/null
@@ -0,0 +1,9 @@
+#include "f2c.h"
+
+#undef abs
+#include <math.h>
+double
+r_tanh (real * x)
+{
+  return (tanh (*x));
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/s_cat.c b/contrib/gcc-3.4/libf2c/libF77/s_cat.c
new file mode 100644 (file)
index 0000000..4e8da1b
--- /dev/null
@@ -0,0 +1,70 @@
+/* Unless compiled with -DNO_OVERWRITE, this variant of s_cat allows the
+ * target of a concatenation to appear on its right-hand side (contrary
+ * to the Fortran 77 Standard, but in accordance with Fortran 90).
+ */
+
+#include "f2c.h"
+#ifndef NO_OVERWRITE
+#include <stdio.h>
+#undef abs
+#undef min
+#undef max
+#include <stdlib.h>
+extern char *F77_aloc (ftnlen, char *);
+#include <string.h>
+#endif /* NO_OVERWRITE */
+
+void
+s_cat (char *lp, char *rpp[], ftnint rnp[], ftnint * np, ftnlen ll)
+{
+  ftnlen i, nc;
+  char *rp;
+  ftnlen n = *np;
+#ifndef NO_OVERWRITE
+  ftnlen L, m;
+  char *lp0, *lp1;
+
+  lp0 = 0;
+  lp1 = lp;
+  L = ll;
+  i = 0;
+  while (i < n)
+    {
+      rp = rpp[i];
+      m = rnp[i++];
+      if (rp >= lp1 || rp + m <= lp)
+       {
+         if ((L -= m) <= 0)
+           {
+             n = i;
+             break;
+           }
+         lp1 += m;
+         continue;
+       }
+      lp0 = lp;
+      lp = lp1 = F77_aloc (L = ll, "s_cat");
+      break;
+    }
+  lp1 = lp;
+#endif /* NO_OVERWRITE */
+  for (i = 0; i < n; ++i)
+    {
+      nc = ll;
+      if (rnp[i] < nc)
+       nc = rnp[i];
+      ll -= nc;
+      rp = rpp[i];
+      while (--nc >= 0)
+       *lp++ = *rp++;
+    }
+  while (--ll >= 0)
+    *lp++ = ' ';
+#ifndef NO_OVERWRITE
+  if (lp0)
+    {
+      memcpy (lp0, lp1, L);
+      free (lp1);
+    }
+#endif
+}
diff --git a/contrib/gcc-3.4/libf2c/libF77/s_cmp.c b/contrib/gcc-3.4/libf2c/libF77/s_cmp.c
new file mode 100644 (file)
index 0000000..5b43c9e
--- /dev/null
@@ -0,0 +1,49 @@
+#include "f2c.h"
+
+/* compare two strings */
+
+integer
+s_cmp (char *a0, char *b0, ftnlen la, ftnlen lb)
+{
+  register unsigned char *a, *aend, *b, *bend;