home *** CD-ROM | disk | FTP | other *** search
-
- ====== index for f2c ============
-
- FILES:
-
- f2c.h Include file necessary for compiling output of the converter.
- See the second NOTE below.
-
- f2c.1 Man page for f2c.
-
- f2c.1t Source for f2c.1 (to be processed by troff -man or nroff -man).
-
- libf77 Library of non I/O support routines the generated C may need.
- Fortran main programs result in a C function named MAIN__ that
- is meant to be invoked by the main() in libf77.
-
- libi77 Library of Fortran I/O routines the generated C may need.
- Note that some vendors (e.g., BSD, Sun and MIPS) provide a
- libF77 and libI77 that are incompatible with f2c -- they
- provide some differently named routines or routines with the
- names that f2c expects, but with different calling sequences.
- On such systems, the recommended procedure is to merge
- libf77 and libi77 into a single library, say libf2c, and
- install it where you can access it by specifying -lf2c .
-
- f2c.ps Postscript for a technical report on f2c.
-
- fixes The complete change log, reporting bug fixes and other changes.
- (Some recent change-log entries are given below).
-
- fc A shell script that uses f2c and imitates much of the behavior
- of commonly found f77 commands. You will almost certainly
- need to adjust some of the shell-variable assignments to make
- this script work on your system.
-
-
- SUBDIRECTORY:
-
- f2c/src Source for the converter itself, including a file of checksums
- and source for a program to compute the checksums (to verify
- correct transmission of the source), is available: ask netlib to
- send all from f2c/src
- If the checksums show damage to just a few source files, or if
- the change log file (see "fixes" below) reports corrections to
- some source files, you can request those files individually
- "from f2c/src". For example, to get defs.h and xsum0.out, you
- would ask netlib to
- send defs.h xsum0.out from f2c/src
- "all from f2c/src" is 649462 bytes long.
-
- Tip: if asked to send over 99,000 bytes in one request, netlib
- breaks the shipment into 1000 line pieces and sends each piece
- separately (since otherwise some mailers might gag). To avoid
- the hassle of reassembling the pieces, try to keep each request
- under 99,000 bytes long. The final number in each line of
- xsum0.out gives the length of each file in f2c/src. For
- example,
- send exec.c expr.c from f2c/src
- send format.c format_data.c from f2c/src
- will give you slightly less hassle than
- send exec.c expr.c format.c format_data.c from f2c/src
-
- 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.
- 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
- the "execute f2c" line as line 0. It is stripped away by
- the netlib software before f2c sees your Fortran input.)
- Options described in the man page may be transmitted to
- netlib by having the first line of input be a comment
- whose first 6 characters are "c$f2c " and whose remaining
- characters are the desired options, e.g., "c$f2c -R -u".
- This scheme may change -- ask netlib to
- send index from f2c
- if you do not get the behavior you expect.
-
- During the initial experimental period, incoming Fortran
- will be saved in a file. Don't send any secrets!
-
-
- BUGS: Please send bug reports (including the shortest example
- you can find that illustrates the bug) to research!dmg
- or dmg@research.att.com .
-
-
- NOTE: f2c.h defines several types, e.g., real, integer, doublereal.
- The definitions in f2c.h are suitable for most machines, but if
- your machine has sizeof(double) > 2*sizeof(long), you may need
- to adjust f2c.h appropriately. f2c assumes
- sizeof(doublecomplex) = 2*sizeof(doublereal)
- sizeof(doublereal) = sizeof(complex)
- sizeof(doublereal) = 2*sizeof(real)
- sizeof(real) = sizeof(integer)
- sizeof(real) = sizeof(logical)
- sizeof(real) = 2*sizeof(shortint)
- EQUIVALENCEs may not be translated correctly if these
- assumptions are violated.
-
- There exists a C compiler that objects to the lines
- typedef VOID C_f; /* complex function */
- typedef VOID H_f; /* character function */
- typedef VOID Z_f; /* double complex function */
- in f2c.h . If yours is such a compiler, do two things:
- 1. Complain to your vendor about this compiler bug.
- 2. Find the line
- #define VOID void
- in f2c.h and change it to
- #define VOID int
- (For readability, the f2c.h lines shown above have had two
- tabs inserted before their first character.)
-
- FTP: All the material described above is now available by anonymous
- ftp from research.att.com -- look in dist/f2c . You must
- uncompress the .Z files once you have a copy of them, e.g., by
- uncompress *.Z
-
- -----------------
- Recent change log (partial)
- -----------------
-
- 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.
-
- 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.
-
- 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:
-
- 12/07/1990 17:42:16 xsum0.out
- 12/07/1990 17:37:53 version.c
- 12/07/1990 17:37:08 names.c
- 12/04/1990 9:45:48 README
- 12/03/1990 7:29:45 f2c.1
- 12/03/1990 7:14:26 f2c.1t
- 11/30/1990 9:47:48 data.c
- 11/15/1990 18:00:20 malloc.c
- 11/02/1990 13:43:50 io.c
- 10/15/1990 19:58:17 mem.c
- 9/27/1990 15:58:58 expr.c
- 9/04/1990 12:18:27 main.c
- 9/04/1990 9:49:23 proc.c
- 8/28/1990 1:09:28 format.c
- 7/26/1990 10:54:47 parse_args.c
- 7/26/1990 10:44:26 parse.h
- 6/27/1990 0:14:45 putpcc.c
- 6/26/1990 11:04:46 p1output.c
- 6/25/1990 7:21:11 makefile
- 6/19/1990 7:21:39 output.c
- 6/19/1990 7:21:38 lex.c
- 6/19/1990 0:18:23 formatdata.c
- 5/11/1990 14:17:04 error.c
- 4/29/1990 9:40:47 exec.c
- 4/23/1990 17:35:47 sysdep.h
- 4/23/1990 16:37:50 sysdep.c
- 4/18/1990 23:41:25 misc.c
- 4/18/1990 12:25:19 init.c
- 4/18/1990 12:25:19 pread.c
- 4/18/1990 12:25:18 cds.c
- 4/17/1990 23:24:07 defs.h
- 4/14/1990 9:32:00 niceprintf.c
- 4/10/1990 0:00:38 put.c
- 4/06/1990 0:00:57 gram.io
- 4/05/1990 23:40:09 gram.exec
- 4/05/1990 23:40:09 gram.expr
- 4/01/1990 15:44:01 equiv.c
- 3/27/1990 16:39:18 names.h
- 3/27/1990 10:05:15 p1defs.h
- 3/27/1990 10:05:14 defines.h
- 3/27/1990 7:54:52 gram.head
- 2/25/1990 9:04:30 vax.c
- 2/16/1990 17:29:40 gram.dcl
- 2/16/1990 10:37:27 tokens
- 2/15/1990 16:57:16 intr.c
- 2/14/1990 2:09:18 xsum.c
- 2/14/1990 2:00:20 format.h
- 2/14/1990 1:38:46 output.h
- 2/14/1990 0:54:06 iob.h
- 2/03/1990 0:58:26 niceprintf.h
- 1/29/1990 13:26:52 memset.c
- 1/20/1990 23:03:00 f2c.h
- 1/20/1990 22:54:23 safstrncpy.c
- 1/11/1990 18:02:51 ftypes.h
- 1/09/1990 16:50:45 Notice
- 1/07/1990 1:20:01 usignal.h
- 11/27/1989 8:27:37 machdefs.h
- 7/01/1989 11:59:44 pccdefs.h
-