home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / bbs / gnu / f2c-1993.04.28-src.lha / src / amiga / f2c-1993.04.28 / readme < prev   
Text File  |  1993-04-28  |  26KB  |  662 lines

  1.  
  2. ====== old index for f2c, now "readme from f2c" ============
  3.  
  4. FILES:
  5.  
  6. f2c.h    Include file necessary for compiling output of the converter.
  7.     See the second NOTE below.
  8.  
  9. f2c.1    Man page for f2c.
  10.  
  11. f2c.1t    Source for f2c.1 (to be processed by troff -man or nroff -man).
  12.  
  13. libf77    Library of non I/O support routines the generated C may need.
  14.     Fortran main programs result in a C function named MAIN__ that
  15.     is meant to be invoked by the main() in libf77.
  16.  
  17. libi77    Library of Fortran I/O routines the generated C may need.
  18.     Note that some vendors (e.g., BSD, Sun and MIPS) provide a
  19.     libF77 and libI77 that are incompatible with f2c -- they
  20.     provide some differently named routines or routines with the
  21.     names that f2c expects, but with different calling sequences.
  22.     On such systems, the recommended procedure is to merge
  23.     libf77 and libi77 into a single library, say libf2c, and to
  24.         install it where you can access it by specifying -lf2c .  The
  25.         definition of link_msg in sysdep.c assumes this arrangement.
  26.  
  27. f2c.ps    Postscript for a technical report on f2c.  After you strip the
  28.     mail header, the first line should be "%!PS".
  29.  
  30. fixes    The complete change log, reporting bug fixes and other changes.
  31.     (Some recent change-log entries are given below).
  32.  
  33. fc    A shell script that uses f2c and imitates much of the behavior
  34.     of commonly found f77 commands.  You will almost certainly
  35.     need to adjust some of the shell-variable assignments to make
  36.     this script work on your system.
  37.  
  38.  
  39. SUBDIRECTORY:
  40.  
  41. f2c/src    Source for the converter itself, including a file of checksums
  42.     and source for a program to compute the checksums (to verify
  43.     correct transmission of the source), is available: ask netlib to
  44.         send all from f2c/src
  45.     If the checksums show damage to just a few source files, or if
  46.     the change log file (see "fixes" below) reports corrections to
  47.     some source files, you can request those files individually
  48.     "from f2c/src".  For example, to get defs.h and xsum0.out, you
  49.     would ask netlib to
  50.         send defs.h xsum0.out from f2c/src
  51.     "all from f2c/src" is about 640 kilobytes long.
  52.  
  53.     Tip: if asked to send over 99,000 bytes in one request, netlib
  54.     breaks the shipment into 1000 line pieces and sends each piece
  55.     separately (since otherwise some mailers might gag).  To avoid
  56.     the hassle of reassembling the pieces, try to keep each request
  57.     under 99,000 bytes long.  The final number in each line of
  58.     xsum0.out gives the length of each file in f2c/src.  For
  59.     example,
  60.         send exec.c expr.c from f2c/src
  61.         send format.c format_data.c from f2c/src
  62.     will give you slightly less hassle than
  63.         send exec.c expr.c format.c format_data.c from f2c/src
  64.     Alternatively, if all the mailers in your return path allow
  65.     long messages, you can supply an appropriate mailsize line in
  66.     your netlib request, e.g.
  67.         mailsize 200k
  68.         send exec.c expr.c format.c format_data.c from f2c/src
  69.  
  70.     If you have trouble generating gram.c, you can ask netlib to
  71.         send gram.c from f2c/src
  72.     Then `xsum gram.c` should report
  73.         gram.c    205b188    57336
  74. NOTE:    For now, you may exercise f2c by sending netlib a message whose
  75.     first line is "execute f2c" and whose remaining lines are
  76.     the Fortran 77 source that you wish to have converted.
  77.     Return mail brings you the resulting C, with f2c's error
  78.     messages between #ifdef uNdEfInEd and #endif at the end.
  79.     (To understand line numbers in the error messages, regard
  80.     the "execute f2c" line as line 0.  It is stripped away by
  81.     the netlib software before f2c sees your Fortran input.)
  82.     Options described in the man page may be transmitted to
  83.     netlib by having the first line of input be a comment
  84.     whose first 6 characters are "c$f2c " and whose remaining
  85.     characters are the desired options, e.g., "c$f2c -R -u".
  86.     This scheme may change -- ask netlib to
  87.                send index from f2c
  88.         if you do not get the behavior you expect.
  89.  
  90.     During the initial experimental period, incoming Fortran
  91.     will be saved in a file.  Don't send any secrets!
  92.  
  93.  
  94. BUGS:    Please send bug reports (including the shortest example
  95.     you can find that illustrates the bug) to research!dmg
  96.     or dmg@research.att.com .  You might first check whether
  97.     the bug goes away when you turn optimization off.
  98.  
  99.  
  100. NOTE:    f2c.h defines several types, e.g., real, integer, doublereal.
  101.     The definitions in f2c.h are suitable for most machines, but if
  102.     your machine has sizeof(double) > 2*sizeof(long), you may need
  103.     to adjust f2c.h appropriately.  f2c assumes
  104.         sizeof(doublecomplex) = 2*sizeof(doublereal)
  105.         sizeof(doublereal) = sizeof(complex)
  106.         sizeof(doublereal) = 2*sizeof(real)
  107.         sizeof(real) = sizeof(integer)
  108.         sizeof(real) = sizeof(logical)
  109.         sizeof(real) = 2*sizeof(shortint)
  110.     EQUIVALENCEs may not be translated correctly if these
  111.     assumptions are violated.
  112.  
  113.     There exists a C compiler that objects to the lines
  114.         typedef VOID C_f;    /* complex function */
  115.         typedef VOID H_f;    /* character function */
  116.         typedef VOID Z_f;    /* double complex function */
  117.     in f2c.h .  If yours is such a compiler, do two things:
  118.     1. Complain to your vendor about this compiler bug.
  119.     2. Find the line
  120.         #define VOID void
  121.        in f2c.h and change it to
  122.         #define VOID int
  123.     (For readability, the f2c.h lines shown above have had two
  124.     tabs inserted before their first character.)
  125.  
  126. FTP:    All the material described above is now available by ftp from
  127.     research.att.com (login: netlib; Password: your E-mail address;
  128.     cd f2c).  You must uncompress the .Z files once you have a
  129.     copy of them, e.g., by
  130.  
  131.         uncompress *.Z
  132.  
  133.     Subdirectory msdos contains two PC versions of f2c,
  134.     f2c.exe.Z and f2cx.exe.Z; the latter uses extended memory.
  135.     The README in that directory provides more details.
  136.  
  137. -----------------
  138. Recent change log (partial)
  139. -----------------
  140.  
  141. Tue Oct 15 10:25:49 EDT 1991:
  142.   Minor tweaks that make some PC compilers happier: insert some
  143. casts, add args to signal functions.
  144.   Change -g to emit uncommented #line lines -- and to emit more of them;
  145. update fc, f2c.1, f2c.1t, f2c.ps to reflect this.
  146.  
  147. Thu Oct 17 09:22:05 EDT 1991:
  148.   libi77: README, fio.h, sue.c, uio.c changed so the length field
  149. in unformatted sequential records has type long rather than int
  150. (unless UIOLEN_int is #defined).  This is for systems where sizeof(int)
  151. can vary, depending on the compiler or compiler options.
  152.  
  153. Thu Oct 17 13:42:59 EDT 1991:
  154.   libi77: inquire.c: when MSDOS is defined, don't strcmp units[i].ufnm
  155. when it is NULL.
  156.  
  157. Tue Oct 22 18:12:56 EDT 1991:
  158.   Fix memory fault when a character*(*) argument is used (illegally)
  159. as a dummy variable in the definition of a statement function.  (The
  160. memory fault occurred when the statement function was invoked.)
  161.   Complain about implicit character*(*).
  162.  
  163. Thu Nov 14 08:50:42 EST 1991:
  164.   libi77: change uint to Uint in fmt.h, rdfmt.c, wrtfmt.c; this change
  165. should be invisible unless you're running a brain-damaged system.
  166.  
  167. Mon Nov 25 19:04:40 EST 1991:
  168.   libi77: correct botches introduced 17 Oct. 1991 and 14 Nov. 1991
  169. (change uint to Uint in lwrite.c; other changes that only matter if
  170. sizeof(int) != sizeof(long)).
  171.   Add a more meaningful error message when bailing out due to an attempt
  172. to invoke a COMMON variable as a function.
  173.  
  174. Sun Dec  1 19:29:24 EST 1991:
  175.   libi77: uio.c: add test for read failure (seq. unformatted reads);
  176. adjust an error return from EOF to off end of record.
  177.  
  178. Tue Dec 10 17:42:28 EST 1991:
  179.   Add tests to prevent memory faults with bad uses of character*(*).
  180.  
  181. Thu Dec 12 11:24:41 EST 1991:
  182.   libi77: fix bug with internal list input that caused the last
  183. character of each record to be ignored; adjust error message in
  184. internal formatted input from "end-of-file" to "off end of record"
  185. if the format specifies more characters than the record contains.
  186.  
  187. Wed Dec 18 17:48:11 EST 1991:
  188.   Fix bug in translating nonsensical ichar invocations involving
  189. concatenations.
  190.   Fix bug in passing intrinsics lle, llt, lge, lgt as arguments;
  191. hl_le was being passed rather than l_le, etc.
  192.   libf77: adjust length parameters from long to ftnlen, for
  193. compiling with f2c_i2 defined.
  194.  
  195. Sat Dec 21 15:30:57 EST 1991:
  196.   Allow DO nnn ... to end with an END DO statement labeled nnn.
  197.  
  198. Tue Dec 31 13:53:47 EST 1991:
  199.   Fix bug in handling dimension a(n**3,2) -- pow_ii was called
  200. incorrectly.
  201.   Fix bug in trans