mailsize 200k
send exec.c expr.c format.c format_data.c from f2c/src
- If you have trouble generating gram.c, you can ask netlib to
- send gram.c from f2c/src
- Then `xsum gram.c` should report
- gram.c 5529f4f 58745
- Alternatively, if you have bison, you might get a working
- gram.c by saying
- make gram.c YACC=bison YFLAGS=-y
- (but please do not complain if this gives a bad gram.c).
-
-NOTE: For now, you may exercise f2c by sending netlib a message whose
- first line is "execute f2c" and whose remaining lines are
- the Fortran 77 source that you wish to have converted.
+ The makefile used to generate gram.c; now we distribute a
+ working gram.c, and you must say
+ make gram1.c
+ mv gram1.c gram.c
+ if you want to generate your own gram.c -- there are just too
+ many broken variants of yacc floating around nowadays for
+ generation of gram.c to be the default.
+
+NOTE: You may exercise f2c by sending netlib@netlib.bell-labs.com
+ a message whose first line is "execute f2c" and whose remaining
+ lines are the Fortran 77 source that you wish to have converted.
Return mail brings you the resulting C, with f2c's error
messages between #ifdef uNdEfInEd and #endif at the end.
(To understand line numbers in the error messages, regard
by compiling libI77 with -DAllow_TYQUAD, and by adjusting
libF77/makefile as described in libF77/README.
- Some machines may have sizeof(int) == 4 and
- sizeof(long long) == 8. On such machines, adjust f2c.h
+ Some machines may have sizeof(int) == 4, sizeof(float) == 8,
+ and sizeof(long long) == 8. On such machines, adjust f2c.h
by changing "long int " to "long long ", e.g., by saying
mv f2c.h f2c.h0
sed 's/long int /long long /' f2c.h0 >f2c.h
cd /netlib/f2c/src
binary
prompt
- mget *.Z
+ mget *.gz
- to get all the .Z files in src. You must uncompress the .Z
+ to get all the .gz files in src. You must uncompress the .gz
files once you have a copy of them, e.g., by
- uncompress *.Z
+ gzip -dN *.gz
+
+ You can also get the entire f2c tree as a tar file:
+
+ ftp://netlib.bell-labs.com/netlib/f2c.tar
+
+ (which is a synthetic file -- created on the fly and not visible
+ to ftp's "ls" or "dir" commands).
Subdirectory msdos contains two PC versions of f2c,
- f2c.exe.Z and f2cx.exe.Z; the latter uses extended memory.
+ f2c.exe.gz and f2cx.exe.gz; the latter uses extended memory.
The README in that directory provides more details.
Changes appear first in the f2c files available by E-mail
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.
+
+Thu Nov 12 15:34:09 EST 1998
+ libf77, libf2c.zip: minor tweaks to [de]time_.c and the makefiles,
+so makefile.sy, makefile.vc, and makefile.wat deal with [de]time_.c.
+
+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.
+
+Tue May 4 10:06:26 EDT 1999
+ libf77, libf2c.zip: forgot to copy yesterday's latest updates to
+netlib.
+
+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).
+
+
Current timestamps of files in "all from f2c/src", sorted by time,
appear below (mm/dd/year hh:mm:ss). To bring your source up to date,
obtain source files with a timestamp later than the time shown in your
version.c. Note that the time shown in the current version.c is the
timestamp of the source module that immediately follows version.c below:
- 8/05/1997 14:51:56 xsum0.out
- 8/05/1997 14:42:48 version.c
+ 5/03/1999 12:46:15 version.c
+ 5/03/1999 12:39:35 formatdata.c
+ 5/03/1999 12:31:14 format.c
+ 5/03/1999 12:27:17 p1output.c
+ 5/03/1999 12:27:17 data.c
+ 5/03/1999 10:01:12 xsum0.out
+ 5/03/1999 9:59:36 io.c
+ 5/03/1999 9:59:36 misc.c
+ 5/03/1999 9:59:36 init.c
+ 3/26/1999 23:18:11 lex.c
+ 3/11/1999 16:44:17 expr.c
+ 3/11/1999 16:42:42 exec.c
+ 2/10/1999 17:43:01 defs.h
+ 9/08/1998 10:16:51 f2c.1
+ 9/08/1998 10:16:48 f2c.1t
+ 9/08/1998 10:14:53 intr.c
+ 5/16/1998 16:55:49 output.c
+ 4/03/1998 17:15:05 gram.c
+ 4/03/1998 17:14:59 gram.dcl
+ 3/09/1998 0:30:23 putpcc.c
+ 2/25/1998 8:18:04 makefile
+12/04/1997 17:44:11 niceprintf.c
8/05/1997 10:31:26 malloc.c
7/24/1997 17:10:55 README
- 7/24/1997 17:00:57 makefile
7/24/1997 16:06:19 Notice
7/21/1997 12:58:44 proc.c
- 2/19/1997 13:34:09 lex.c
2/11/1997 23:39:14 vax.c
-12/22/1996 11:51:22 output.c
12/04/1996 13:07:53 gram.exec
-10/17/1996 13:10:40 putpcc.c
-10/01/1996 14:36:18 gram.dcl
-10/01/1996 14:36:18 init.c
-10/01/1996 14:36:18 defs.h
-10/01/1996 14:36:17 data.c
- 9/17/1996 17:29:44 expr.c
9/12/1996 12:12:46 equiv.c
- 8/27/1996 8:30:32 intr.c
8/26/1996 9:41:13 sysdep.c
- 7/09/1996 10:41:13 format.c
7/09/1996 10:40:45 names.c
- 7/04/1996 9:58:31 formatdata.c
7/04/1996 9:55:45 sysdep.h
7/04/1996 9:55:43 put.c
7/04/1996 9:55:41 pread.c
7/04/1996 9:55:40 parse_args.c
- 7/04/1996 9:55:40 p1output.c
- 7/04/1996 9:55:38 niceprintf.c
- 7/04/1996 9:55:37 misc.c
- 7/04/1996 9:55:36 memset.c
7/04/1996 9:55:36 mem.c
+ 7/04/1996 9:55:36 memset.c
7/04/1996 9:55:35 main.c
- 7/04/1996 9:55:33 io.c
- 7/04/1996 9:55:30 exec.c
7/04/1996 9:55:29 error.c
7/04/1996 9:55:27 cds.c
7/03/1996 15:47:49 xsum.c
6/19/1996 7:04:27 f2c.h
6/19/1996 2:52:05 defines.h
5/13/1996 0:40:32 gram.head
- 5/12/1996 23:37:11 f2c.1
- 5/12/1996 23:37:02 f2c.1t
2/25/1994 2:07:19 parse.h
2/22/1994 19:07:20 iob.h
2/22/1994 18:56:53 p1defs.h