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 / index.old < prev    next >
Text File  |  1993-04-28  |  9KB  |  275 lines

  1.  
  2.   ====== index for 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
  24.      install it where you can access it by specifying -lf2c .
  25.  
  26. f2c.ps    Postscript for a technical report on f2c.  After you strip the
  27.      mail header, the first line should be "%!PS".
  28.  
  29. fixes    The complete change log, reporting bug fixes and other changes.
  30.      (Some recent change-log entries are given below).
  31.  
  32. fc    A shell script that uses f2c and imitates much of the behavior
  33.      of commonly found f77 commands.  You will almost certainly
  34.      need to adjust some of the shell-variable assignments to make
  35.      this script work on your system.
  36.  
  37.  
  38.   SUBDIRECTORY:
  39.  
  40. src    Source for the converter itself, including a file of checksums
  41.      and source for a program to compute the checksums (to verify
  42.      correct transmission of the source), is available: ask netlib to
  43.          send all from f2c/src
  44.      If the checksums show damage to just a few source files, or if
  45.      the change log file (see "fixes" below) reports corrections to
  46.      some source files, you can request those files individually
  47.      "from f2c/src".  For example, to get defs.h and xsum0.out, you
  48.      would ask netlib to
  49.          send defs.h xsum0.out from f2c/src
  50.      "all from f2c/src" is 648203 bytes long.
  51.  
  52.      Tip: if asked to send over 99,000 bytes in one request, netlib
  53.      breaks the shipment into 1000 line pieces and sends each piece
  54.      separately (since otherwise some mailers might gag).  To avoid
  55.      the hassle of reassembling the pieces, try to keep each request
  56.      under 99,000 bytes long.  The final number in each line of
  57.      xsum0.out gives the length of each file in f2c/src.  For
  58.      example,
  59.          send exec.c expr.c from f2c/src
  60.          send format.c format_data.c from f2c/src
  61.      will give you slightly less hassle than
  62.          send exec.c expr.c format.c format_data.c from f2c/src
  63.  
  64.   NOTE:    For now, you may exercise f2c by sending netlib a message whose
  65.      first line is "execute f2c" and whose remaining lines are
  66.      the Fortran 77 source that you wish to have converted.
  67.      Return mail brings you the resulting C, with f2c's error
  68.      messages between #ifdef uNdEfInEd and #endif at the end.
  69.      (To understand line numbers in the error messages, regard
  70.      the "execute f2c" line as line 0.  It is stripped away by
  71.      the netlib software before f2c sees your Fortran input.)
  72.      Options described in the man page may be transmitted to
  73.      netlib by having the first line of input be a comment
  74.      whose first 6 characters are "c$f2c " and whose remaining
  75.      characters are the desired options, e.g., "c$f2c -R -u".
  76.      This scheme may change -- ask netlib to
  77.                 send index from f2c
  78.          if you do not get the behavior you expect.
  79.  
  80.      During the initial experimental period, incoming Fortran
  81.      will be saved in a file.  Don't send any secrets!
  82.  
  83.  
  84.   BUGS:    Please send bug reports (including the shortest example
  85.      you can find that illustrates the bug) to research!dmg
  86.      or dmg@research.att.com .  You might first check whether
  87.      the bug goes away when you turn optimization off.
  88.  
  89.  
  90.   NOTE:    f2c.h defines several types, e.g., real, integer, doublereal.
  91.      The definitions in f2c.h are suitable for most machines, but if
  92.      your machine has sizeof(double) > 2*sizeof(long), you may need
  93.      to adjust f2c.h appropriately.  f2c assumes
  94.          sizeof(doublecomplex) = 2*sizeof(doublereal)
  95.          sizeof(doublereal) = sizeof(complex)
  96.          sizeof(doublereal) = 2*sizeof(real)
  97.          sizeof(real) = sizeof(integer)
  98.          sizeof(real) = sizeof(logical)
  99.          sizeof(real) = 2*sizeof(shortint)
  100.      EQUIVALENCEs may not be translated correctly if these
  101.      assumptions are violated.
  102.  
  103.      There exists a C compiler that objects to the lines
  104.          typedef VOID C_f;    /* complex function */
  105.          typedef VOID H_f;    /* character function */
  106.          typedef VOID Z_f;    /* double complex function */
  107.      in f2c.h .  If yours is such a compiler, do two things:
  108.      1. Complain to your vendor about this compiler bug.
  109.      2. Find the line
  110.          #define VOID void
  111.         in f2c.h and change it to
  112.          #define VOID int
  113.      (For readability, the f2c.h lines shown above have had two
  114.      tabs inserted before their first character.)
  115.  
  116.   FTP:    All the material described above is now available by anonymous
  117.      ftp from research.att.com -- look in dist/f2c .  You must
  118.      uncompress the .Z files once you have a copy of them, e.g., by
  119.          uncompress *.Z
  120.  
  121.   -----------------
  122.   Recent change log (partial)
  123.   -----------------
  124.  
  125.   Tue Jan 15 12:00:24 EST 1991:
  126.     Fix bug when two equivalence groups are merged, the second with
  127.   nonzero offset, and the result is then merged into a common block.
  128.   Example:
  129.        INTEGER W(3), X(3), Y(3), Z(3)
  130.        COMMON /ZOT/ Z
  131.        EQUIVALENCE (W(1),X(1)), (X(2),Y(1)), (Z(3),X(1))
  132.   ***** W WAS GIVEN THE WRONG OFFSET
  133.   Recognize Fortran 90's optional NML= in NAMELIST READs and WRITEs.
  134.   (Currently NML= and FMT= are treated as synonyms -- there's no
  135.   error message if, e.g., NML= specifies a format.)
  136.    libi77: minor adjustment to allow internal READs from character
  137.   string constants in read-only memory.
  138.  
  139.   Wed Jan 23 00:38:48 EST 1991:
  140.    Allow hex, octal, and binary constants to have the qualifying letter
  141.   (z, x, o, or b) either before or after the quoted string containing the
  142.   digits.  For now this change will not be reflected in f2c.ps .
  143.  
  144.  Tue Jan 29 16:23:45 EST 1991:
  145.    Arrange for character-valued statement functions to give results of
  146.  the right length (that of the statement function's name).
  147.  
  148.  Wed Jan 30 07:05:32 EST 1991:
  149.    More tweaks for character-valued statement functions: an error
  150.  check and an adjustment so a right-hand side of nonconstant length
  151.  (e.g., a substring) is handled right.
  152.  
  153.  Thu Jan 31 13:53:44 EST 1991:
  154.    Add a test after the cleanup call generated for I/O statements with
  155.  ERR= or END= clauses to catch the unlikely event that the cleanup
  156.  routine encounters an error.
  157.  
  158.  Tue Feb  5 01:39:36 EST 1991:
  159.    Change Mktemp to mktmp (for the benefit of systems so brain-damaged
  160.  that they do not distinguish case in external names -- and that for
  161.  some reason want to load mktemp).  Try to get xsum0.out right this
  162.  time (it somehow didn't get updated on 4 Feb. 1991).
  163.    Add note to libi77/README about adjusting the interpretation of
  164.  RECL= specifiers in OPENs for direct unformatted I/O.
  165.  
  166.  Thu Feb  7 17:24:42 EST 1991:
  167.    New option -r casts values of REAL functions, including intrinsics,
  168.  to REAL.  This only matters for unportable code like
  169.      real r
  170.      r = asin(1.)
  171.      if (r .eq. asin(1.)) ...
  172.  [The behavior of such code varies with the Fortran compiler used --
  173.  and sometimes is affected by compiler options.]  For now, the man page
  174.  at the end of f2c.ps is the only part of f2c.ps that reflects this new
  175.  option.
  176.  
  177.  Fri Feb  8 18:12:51 EST 1991:
  178.    Cast pointer differences passed as arguments to the appropriate type.
  179.  This matters, e.g., with MSDOS compilers that yield a long pointer
  180.  difference but have int == short.
  181.    Disallow nonpositive dimensions.
  182.  
  183.  Fri Feb 15 12:24:15 EST 1991:
  184.    Change %d to %ld in sprintf call in putpower in putpcc.c.
  185.    Free more memory (e.g. allowing translation of larger Fortran
  186.  files under MS-DOS).
  187.    Recognize READ (character expression)
  188.  as formatted I/O with the format given by the character expression.
  189.    Update year in Notice.
  190.  
  191.  Mon Mar  4 15:19:42 EST 1991:
  192.    Fix bug in passing the real part of a complex argument to an intrinsic
  193.  function.  Omit unneeded parentheses in nested calls to intrinsics.
  194.  Example:
  195.      subroutine foo(x,