home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / f2c-93.04.28-src.tgz / tar.out / fsf / f2c / readme < prev   
Text File  |  1996-09-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 translating
  202.     subroutine x(abc,n)
  203.     character abc(n)
  204.     write(abc,'(i10)') 123
  205.     end
  206. (omitted declaration and initialiation of abc_dim1).
  207.  
  208. Fri Jan 17 11:54:20 EST 1992:
  209.   Diagnose some illegal uses of main program name (rather than
  210. memory faulting).
  211.   libi77:  (1) In list and namelist input, treat "r* ," and "r*,"
  212. alike (where r is a positive integer constant), and fix a bug in
  213. handling null values following items with repeat counts (e.g.,
  214. 2*1,,3).  (2) For namelist reading of a numeric array, allow a new
  215. name-value subsequence to terminate the current one (as though the
  216. current one ended with the right number of null values).
  217. (3) [lio.h, lwrite.c]:  omit insignificant zeros in list and namelist
  218. output.  (Compile with -DOld_list_output to get the old behavior.)
  219.  
  220. Sat Jan 18 15:58:01 EST 1992:
  221.   libi77:  make list output consistent with F format by printing .1
  222. rather than 0.1 (introduced yesterday).
  223.  
  224. Wed Jan 22 08:32:43 EST 1992:
  225.   libi77:  add comment to README pointing out preconnection of
  226. Fortran units 5, 6, 0 to stdin, stdout, stderr (respectively).
  227.  
  228. Mon Feb  3 11:57:53 EST 1992:
  229.   libi77:  fix namelist read bug that caused the character following
  230. a comma to be ignored.
  231.  
  232. Fri Feb 28 01:04:26 EST 1992:
  233.   libf77:  fix buggy z_sqrt.c (double precision square root), which
  234. misbehaved for arguments in the southwest quadrant.
  235.  
  236. Thu Mar 19 15:05:18 EST 1992:
  237.   Fix bug (introduced 17 Jan 1992) in handling multiple entry points
  238. of differing types (with implicitly typed entries appearing after
  239. the first executable statement).
  240.   Fix memory fault in the following illegal Fortran:
  241.         double precision foo(i)
  242. *    illegal: above should be "double precision function foo(i)"
  243.         foo = i * 3.2
  244.         entry moo(i)
  245.         end
  246.   Note about ANSI_Libraries (relevant, e.g., to IRIX 4.0.1 and AIX)
  247. added to README.
  248.   Abort zero divides during constant simplification.
  249.  
  250. Sat Mar 21 01:27:09 EST 1992:
  251.   Tweak ckalloc (misc.c) for systems where malloc(0) = 0; this matters
  252. for subroutines with multiple entry points but no arguments.
  253.   Add "struct memblock;" to init.c (irrelevant to most compilers).
  254.  
  255. Wed Mar 25 13:31:05 EST 1992:
  256.   Fix bug with IMPLICIT INTEGER*4(...): under -i2 or -I2, the *4 was
  257. ignored.
  258.  
  259. Tue May  5 09:53:55 EDT 1992:
  260.   Tweaks to README; e.g., ANSI_LIbraries changed to ANSI_Libraries .
  261.  
  262. Wed May  6 23:49:07 EDT 1992
  263.   Under -A and -C++, have subroutines return 0 (even if they have
  264. no * arguments).
  265.   Adjust libi77 (rsne.c and lread.c) for systems where ungetc is
  266. a macro.  Tweak lib[FI]77/makefile to use unique intermediate file
  267. names (for parallel makes).
  268.  
  269. Tue May 19 09:03:05 EDT 1992:
  270.   Adjust libI77 to make err= work with internal list and formatted I/O.
  271.  
  272. Sat May 23 18:17:42 EDT 1992:
  273.   Under -A and -C++, supply "return 0;" after the code generated for
  274. a STOP statement -- the C compiler doesn't know that s_stop won't
  275. return.
  276.   New (mutually exclusive) options:
  277.     -f    treats all input lines as free-format lines,
  278.         honoring text that appears after column 72
  279.         and not padding lines shorter than 72 characters
  280.         with blanks (which matters if a character string
  281.         is continued across 2 or more lines).
  282.     -72    treats text appearing after column 72 as an error.
  283.  
  284. Sun May 24 09:45:37 EDT 1992:
  285.   Tweak description of -f in f2c.1 and f2c.1t; update f2c.ps .
  286.  
  287. Fri May 29 01:17:15 EDT 1992:
  288.   Complain about externals used as variables.  Example
  289.     subroutine foo(a,b)
  290.     external b
  291.     a = a*b        ! illegal use of b; perhaps should be b()
  292.     end
  293.  
  294. Mon Jun 15 11:15:27 EDT 1992:
  295.   Fix bug in handling namelists with names that have underscores.
  296.  
  297. Sat Jun 27 17:30:59 EDT 1992:
  298.   Under -A and -C++, end Main program aliases with "return 0;".
  299.   Under -A and -C++, use .P files and usage in previous subprograms
  300. in the current file to give prototypes for functions declared EXTERNAL
  301. but not invoked.
  302.   Fix memory fault under -d1 -P .
  303.   Under -A and -C++, cast arguments to the right types in calling
  304. a function that has been defined in the current file or in a .P file.
  305.   Fix bug in handling multi-dimensional arrays with array references
  306. in their leading dimensions.
  307.   Fix bug in the intrinsic cmplx function when the first argument
  308. involves an expression for which f2c generates temporary variables,
  309. e.g. cmplx(abs(real(a)),1.) .
  310.  
  311. Sat Jul 18 07:36:58 EDT 1992:
  312.   Fix buglet with -e1c (invisible on most systems) temporary file
  313. f2c_functions was unlinked before being closed.
  314.   libf77: fix bugs in evaluating m**n for integer n < 0 and m an
  315. integer different from 1 or a real or double precision 0.
  316. Catch SIGTRAP (to print "Trace trap" before aborting).  Programs
  317. that previously erroneously computed 1 for 0**-1 may now fault.
  318. Relevant routines: main.c pow_di.c pow_hh.c pow_ii.c pow_ri.c .
  319.  
  320. Sat Jul 18 08:40:10 EDT 1992:
  321.   libi77: allow namelist input to end with & (e.g. &end).
  322.  
  323. Thu Jul 23 00:14:43 EDT 1992:
  324.   Append two underscores rather than one to C keywords used as
  325. local variables to avoid conflicts with similarly named COMMON blocks.
  326.  
  327. Thu Jul 23 11:20:55 EDT 1992:
  328.   libf77, libi77 updated to assume ANSI prototypes unless KR_headers
  329. is #defined.
  330.   libi77 now recognizes a Z format item as in Fortran 90;
  331. the implementation assumes 8-bit bytes and botches character strings
  332. on little-endian machines (by printing their bytes from right to
  333. left): expect this bug to persist; fixing it would require a
  334. change to the I/O calling sequences.
  335.  
  336. Tue Jul 28 15:18:33 EDT 1992:
  337.   libi77: insert missed "#ifdef KR_headers" lines around getnum
  338. header in rsne.c.  Version not updated.
  339.  
  340. Thu Aug  6 14:19:22 EDT 1992:
  341.   Update "names.c from f2c/src", which missed being updated on 23 July.
  342.  
  343. Fri Aug 14 08:07:09 EDT 1992:
  344.   libi77: tweak wrt_E in wref.c to avoid signing NaNs.
  345.  
  346. Sun Aug 23 19:05:22 EDT 1992:
  347.   fc: supply : after O in getopt invocation (for -O1 -O2 -O3).
  348.  
  349. Mon Aug 24 18:37:59 EDT 1992:
  350.   Recant above tweak to fc: getopt is dumber than I thought;
  351. it's necessary to say -O 1 (etc.).
  352.   libF77/README: add comments about ABORT, ERF, DERF, ERFC, DERFC,
  353. GETARG, GETENV, IARGC, SIGNAL, and SYSTEM.
  354.  
  355. Tue Oct 27 01:57:42 EST 1992:
  356.   libf77, libi77:
  357.     1.  Fix botched indirection in signal_.c.
  358.     2.  Supply missing l_eof = 0 assignment to s_rsne() in rsne.c (so
  359. end-of-file on other files won't confuse namelist reads of external
  360. files).
  361.     3.  Prepend f__ to external names that are only of internal
  362. interest to lib[FI]77.
  363.  
  364. Thu Oct 29 12:37:18 EST 1992:
  365.   libf77: Fix botch in signal_.c when KR_headers is #defined;
  366. add CFLAGS to makefile.
  367.   libi77: trivial change to makefile for consistency with
  368. libF77/makefile.
  369.  
  370. Wed Feb  3 02:05:16 EST 1993:
  371.   Recognize types INTEGER*1, LOGICAL*1, LOGICAL*2, INTEGER*8.
  372. INTEGER*8 is not well tested and will only work reasonably on
  373. systems where int = 4 bytes, long = 8 bytes; on such systems,
  374. you'll have to modify f2c.h appropriately, changing integer
  375. from long to int and adding typedef long longint.  You'll also
  376. have to compile libI77 with Allow_TYQUAD #defined and adjust
  377. libF77/makefile to compile pow_qq.c.  In the f2c source, changes
  378. for INTEGER*8 are delimited by #ifdef TYQUAD ... #endif.  You
  379. can omit the INTEGER*8 changes by compiling with NO_TYQUAD
  380. #defined.  Otherwise, the new command-line option -!i8
  381. disables recognition of INTEGER*8.
  382.   libf77: add pow_qq.c
  383.   libi77: add #ifdef Allow_TYQUAD stuff.  Changes for INTEGER*1,
  384. LOGICAL*1, and LOGICAL*2 came last 23 July 1992.  Fix bug in
  385. backspace (that only bit when the last character of the second
  386. or subsequent buffer read was the previous newline).  Guard
  387. against L_tmpnam being too small in endfile.c.  For MSDOS,
  388. close and reopen files when copying to truncate.  Lengthen
  389. LINTW (buffer size in lwrite.c).
  390.   Add \ to the end of #define lines that get broken.
  391.   Fix bug in handling NAMELIST of items in EQUIVALENCE.
  392.   Under -h (or -hd), convert Hollerith to integer in general expressions
  393. (e.g., assignments), not just when they're passed as arguments, and
  394. blank-pad rather than 0-pad the Hollerith to a multiple of
  395. sizeof(integer) or sizeof(doublereal).
  396.   Add command-line option -s, which instructs f2c preserve multi-
  397. dimensional subscripts (by emitting and using appropriate #defines).
  398.   Fix glitch (with default type inferences) in examples like
  399.     call foo('abc')
  400.     end
  401.     subroutine foo(goo)
  402.     end
  403. This gave two warning messages:
  404.     Warning on line 4 of y.f: inconsistent calling sequences for foo:
  405.             here 1, previously 2 args and string lengths.
  406.     Warning on line 4 of y.f: inconsistent calling sequences for foo:
  407.             here 2, previously 1 args and string lengths.
  408. Now the second Warning is suppressed.
  409.   Complain about all inconsistent arguments, not just the first.
  410.   Separate -P from -A: write old-style .c, ANSI .P files when -P is
  411. given without -A or -C++.
  412.   Switch to automatic creation of "all from f2c/src".  For folks
  413. getting f2c source via ftp, this means f2c/src/all.Z is now an
  414. empty file rather than a bundle.
  415.  
  416. Thu Feb  4 00:32:20 EST 1993:
  417.   Fix some glitches (introduced yesterday) with -h .
  418.  
  419. Fri Feb  5 01:40:38 EST 1993:
  420.   Fix bug in types conveyed for namelists (introduced 3 Feb. 1993).
  421.  
  422. Fri Feb  5 21:26:43 EST 1993:
  423.   libi77: tweaks to NAMELIST and open (after comments by Harold
  424. Youngren):
  425.  1. Reading a ? instead of &name (the start of a namelist) causes
  426.     the namelist being sought to be written to stdout (unit 6);
  427.     to omit this feature, compile rsne.c with -DNo_Namelist_Questions.
  428.  2. Reading the wrong namelist name now leads to an error message
  429.     and an attempt to skip input until the right namelist name is found;
  430.     to omit this feature, compile rsne.c with -DNo_Bad_Namelist_Skip.
  431.  3. Namelist writes now insert newlines before each variable; to omit
  432.     this feature, compile xwsne.c with -DNo_Extra_Namelist_Newlines.
  433.  4. For OPEN of sequential files, ACCESS='APPEND' (or
  434.     access='anything else starting with "A" or "a"') causes the file to
  435.     be positioned at end-of-file, so a write will append to the file.
  436.     (This is nonstandard, but does not require modifying data
  437.     structures.)
  438.  
  439. Mon Feb  8 14:40:37 EST 1993:
  440.   Increase number of continuation lines allowed from 19 to 99,
  441. and allow changing this limit with -NC (e.g. -NC200 for 200 lines).
  442.   Treat control-Z (at the beginning of a line) as end-of-file: see
  443. the new penultimate paragraph of README.
  444.   Fix a rarely seen glitch that could make an error messages to say
  445. "line 0".
  446.  
  447. Tue Feb  9 02:05:40 EST 1993
  448.   libi77: change some #ifdef MSDOS lines to #ifdef NON_UNIX_STDIO,
  449. and, in err.c under NON_UNIX_STDIO, avoid close(creat(name,0666))
  450. when the unit has another file descriptor for name.
  451.  
  452. Tue Feb  9 17:12:49 EST 1993
  453.   libi77: more tweaks for NON_UNIX_STDIO: use stdio routines
  454. rather than open, close, creat, seek, fdopen (except for f__isdev).
  455.  
  456. Fri Feb 12 15:49:33 EST 1993
  457.   Update src/gram.c (which was forgotten in the recent updates).
  458. Most folks regenerate it anyway (wity yacc or bison).
  459.  
  460. Thu Mar  4 17:07:38 EST 1993
  461.   Increase default max labels in computed gotos and alternate returns
  462. to 257, and allow -Nl1234 to specify this number.
  463.   Tweak put.c to check p->tag == TADDR in realpart() and imagpart().
  464.   Adjust fc script to allow .r (RATFOR) files and -C (check subscripts).
  465.   Avoid declaring strchr in niceprintf.c under -DANSI_Libraries .
  466.   gram.c updated again.
  467.   libi77: err.c, open.c: take declaration of fdopen from rawio.h.
  468.  
  469. Sat Mar  6 07:09:11 EST 1993
  470.   libi77: uio.c: adjust off-end-of-record test for sequential
  471. unformatted reads to respond to err= rather than end= .
  472.  
  473. Sat Mar  6 16:12:47 EST 1993
  474.   Treat scalar arguments of the form (v) and v+0, where v is a variable,
  475. as expressions: assign to a temporary variable, and pass the latter.
  476.   gram.c updated.
  477.  
  478. Mon Mar  8 09:35:38 EST 1993
  479.   "f2c.h from f2c" updated to add types logical1 and integer1 for
  480. LOGICAL*1 and INTEGER*1.  ("f2c.h from f2c" is supposed to be the
  481. same as "f2c.h from f2c/src", which was updated 3 Feb. 1993.)
  482.  
  483. Mon Mar  8 17:57:55 EST 1993
  484.   Fix rarely seen bug that could cause strange casts in function
  485. invocations (revealed by an example with msdos/f2c.exe).
  486.   msdos/f2cx.exe.Z and msdos/f2c.exe.Z updated (ftp access only).
  487.  
  488. Fri Mar 12 12:37:01 EST 1993
  489.   Fix bug with -s in handling subscripts involving min, max, and
  490. complicated expressions requiring temporaries.
  491.   Fix bug in handling COMMONs that need padding by a char array.
  492.   msdos/f2cx.exe.Z and msdos/f2c.exe.Z updated (ftp access only).
  493.  
  494. Fri Mar 12 17:16:16 EST 1993
  495.   libf77, libi77: updated for compiling under C++.
  496.  
  497. Mon Mar 15 16:21:37 EST 1993
  498.   libi77: more minor tweaks (for -DKR_headers); Version.c not changed.
  499.  
  500. Thu Mar 18 12:37:30 EST 1993
  501.   Flag -r (for discarding carriage-returns on systems that end lines
  502. with carriage-return/newline pairs, e.g. PCs) added to xsum, and
  503. xsum.c converted to ANSI/ISO syntax (with K&R syntax available with
  504. -DKR_headers).  [When time permits, the f2c source will undergo a
  505. similar conversion.]
  506.   libi77: tweaks to #includes in endfile.c, err.c, open.c, rawio.h;
  507. Version.c not changed.
  508.   f2c.ps updated (to pick up revision of 2 Feb. 1993 to f2c.1).
  509.  
  510. Fri Mar 19 09:19:26 EST 1993
  511.   libi77: add (char *) casts to malloc and realloc invocations
  512. in err.c, open.c; Version.c not changed.
  513.  
  514. Tue Mar 30 07:17:15 EST 1993
  515.   Fix bug introduced 6 March 1993: possible memory corruption when
  516. loops in data statements involve constant subscripts, as in
  517.      DATA (GUNIT(1,I),I=0,14)/15*-1/
  518.  
  519. Tue Mar 30 16:17:42 EST 1993
  520.   Fix bug with -s: (floating-point array item)*(complex item)
  521. generates an _subscr() reference for the floating-point array,
  522. but a #define for the _subscr() was omitted.
  523.  
  524. Tue Apr  6 12:11:22 EDT 1993
  525.   libi77: adjust error returns for formatted inputs to flush the current
  526. input line when err= is specified.  To restore the old behavior (input
  527. left mid-line), either adjust the #definition of errfl in fio.h or omit
  528. the invocation of f__doend in err__fl (in err.c).
  529.  
  530. Tue Apr  6 13:30:04 EDT 1993
  531.   Fix bug revealed in
  532.     subroutine foo(i)
  533.     call goo(int(i))
  534.     end
  535. which now passes a copy of i, rather than i itself.
  536.  
  537. Sat Apr 17 11:41:02 EDT 1993
  538.   Adjust appending of underscores to conform with f2c.ps ("A Fortran
  539. to C Converter"): names that conflict with C keywords or f2c type
  540. names now have just one underscore appended (rather than two); add
  541. "integer1", "logical1", "longint" to the keyword list.
  542.   Append underscores to names that appear in EQUIVALENCE and are
  543. component names in a structure declared in f2c.h, thus avoiding a
  544. problem caused by the #defines emitted for equivalences.  Example:
  545.     complex a
  546.     equivalence (i,j)
  547.     a = 1    ! a.i went awry because of #define i
  548.     j = 2
  549.     write(*,*) a, i
  550.     end
  551.   Adjust line-breaking logic to avoid splitting very long constants
  552. (and names).  Example:
  553.     ! The next line starts with tab and thus is a free-format line.
  554.     a=.012345689012345689012345689012345689012345689012345689012345689012345689
  555.     end
  556.   Omit extraneous "return 0;" from entry stubs emitted for multiple
  557. entry points of type character, complex, or double complex.
  558.  
  559. Sat Apr 17 14:35:05 EDT 1993
  560.   Fix bug (introduced 4 Feb.) in separating -P from -A that kept f2c
  561. from re-reading a .P file written without -A or -C++ describing a
  562. routine with an external argument.  [See the just-added note about
  563. separating -P from -A in the changes above for 4 Feb. 1993.]
  564.   Fix bug (type UNKNOWN for v in the example below) revealed by
  565.     subroutine a()
  566.     external c
  567.     call b(c)
  568.     end
  569.     subroutine b(v)
  570.     end
  571.  
  572. Sun Apr 18 19:55:26 EDT 1993
  573.   Fix wrong calling sequence for mem() in yesterday's addition to
  574. equiv.c .
  575.  
  576. Wed Apr 21 17:39:46 EDT 1993
  577.   Fix bug revealed in
  578.  
  579.       ASSIGN 10 TO L1
  580.       GO TO 20
  581.  10   ASSIGN 30 TO L2
  582.       STOP 10
  583.  
  584.  20   ASSIGN 10 TO L2    ! Bug here because 10 had been assigned
  585.             ! to another label, then defined.
  586.       GO TO L2
  587.  30   END
  588.  
  589. Fri Apr 23 18:38:50 EDT 1993
  590.   Fix bug with -h revealed in
  591.     CHARACTER*9 FOO
  592.     WRITE(FOO,'(I6)') 1
  593.     WRITE(FOO,'(I6)') 2    ! struct icilist io___3 botched
  594.     END
  595.  
  596. Tue Apr 27 16:08:28 EDT 1993
  597.   Tweak to makefile: remove "size f2c".
  598.  
  599. Current timestamps of files in "all from f2c/src", sorted by time,
  600. appear below (mm/dd/year hh:mm:ss).  To bring your source up to date,
  601. obtain source files with a timestamp later than the time shown in your
  602. version.c.  Note that the time shown in the current version.c is the
  603. timestamp of the source module that immediately follows version.c below:
  604.  
  605.  4/27/1993  16:07:08  xsum0.out
  606.  4/27/1993  16:06:59  makefile
  607.  4/23/1993  18:34:36  version.c
  608.  4/23/1993  18:34:30  put.c
  609.  4/21/1993  16:53:08  exec.c
  610.  4/18/1993  19:53:34  equiv.c
  611.  4/17/1993  14:33:24  format.c
  612.  4/17/1993  14:12:45  putpcc.c
  613.  4/17/1993  10:46:12  proc.c
  614.  4/17/1993   9:47:04  misc.c
  615.  4/17/1993   9:14:52  niceprintf.c
  616.  4/17/1993   8:17:51  defs.h
  617.  4/17/1993   8:17:51  names.c
  618.  4/06/1993  13:27:22  intr.c
  619.  3/30/1993   7:16:05  expr.c
  620.  3/18/1993  12:30:34  xsum.c
  621.  3/18/1993  12:29:39  README
  622.  3/08/1993  16:48:44  output.c
  623.  3/06/1993  14:13:58  gram.expr
  624.  3/04/1993  14:59:25  gram.exec
  625.  3/04/1993  14:00:19  main.c
  626.  3/04/1993  13:57:37  init.c
  627.  3/04/1993  13:57:37  gram.dcl
  628.  3/04/1993  13:57:37  gram.head
  629.  2/08/1993  15:03:27  lex.c
  630.  2/08/1993  14:52:58  error.c
  631.  2/05/1993   1:37:14  io.c
  632.  2/02/1993  12:20:34  f2c.1
  633.  2/01/1993  19:24:07  Notice
  634.  2/01/1993   8:37:12  sysdep.c
  635.  1/29/1993  12:29:27  f2c.1t
  636.  1/28/1993   9:03:16  ftypes.h
  637.  1/27/1993  10:22:56  mem.c
  638.  1/26/1993  13:31:18  formatdata.c
  639.  1/25/1993  11:26:33  defines.h
  640.  1/25/1993  10:36:05  data.c
  641.  1/20/1993   0:03:18  pread.c
  642.  1/19/1993   9:24:08  p1output.c
  643. 10/01/1992  22:16:26  f2c.h
  644.  6/27/1992  14:50:07  vax.c
  645. 10/15/1991   1:26:39  sysdep.h
  646.  2/08/1991  11:29:18  malloc.c
  647.  7/26/1990  10:54:47  parse_args.c
  648.  7/26/1990  10:44:26  parse.h
  649.  4/18/1990  12:25:18  cds.c
  650.  4/06/1990   0:00:57  gram.io
  651.  3/27/1990  16:39:18  names.h
  652.  3/27/1990  10:05:15  p1defs.h
  653.  2/16/1990  10:37:27  tokens
  654.  2/14/1990   2:00:20  format.h
  655.  2/14/1990   1:38:46  output.h
  656.  2/14/1990   0:54:06  iob.h
  657.  2/03/1990   0:58:26  niceprintf.h
  658.  1/29/1990  13:26:52  memset.c
  659.  1/07/1990   1:20:01  usignal.h
  660. 11/27/1989   8:27:37  machdefs.h
  661.  7/01/1989  11:59:44  pccdefs.h
  662.