2 ====== old index for f2c, now "readme from f2c" ============
6 f2c.h Include file necessary for compiling output of the converter.
7 See the second NOTE below.
9 f2c.1 Man page for f2c.
11 f2c.1t Source for f2c.1 (to be processed by troff -man or nroff -man).
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.
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.
27 Both libf77 and libi77 are bundles, meant to be unpacked by the
28 Bourne (or Korn) shell. MS-DOS users can use the MKS Toolkit
29 to unpack libf77 and libi77.
32 Only available by ftp: combination of libf77 and libi77, with
33 Unix and PC makefiles.
35 f2c.ps Postscript for a technical report on f2c. After you strip the
36 mail header, the first line should be "%!PS".
38 fixes The complete change log, reporting bug fixes and other changes.
39 (Some recent change-log entries are given below).
41 fc A shell script that uses f2c and imitates much of the behavior
42 of commonly found f77 commands. You will almost certainly
43 need to adjust some of the shell-variable assignments to make
44 this script work on your system.
49 f2c/src Source for the converter itself, including a file of checksums
50 and source for a program to compute the checksums (to verify
51 correct transmission of the source), is available: ask netlib
52 (e.g., netlib@netlib.bell-labs.com) to
54 If the checksums show damage to just a few source files, or if
55 the change log file (see "fixes" below) reports corrections to
56 some source files, you can request those files individually
57 "from f2c/src". For example, to get defs.h and xsum0.out, you
59 send defs.h xsum0.out from f2c/src
60 "all from f2c/src" is about 640 kilobytes long; for convenience
61 (and checksums), it includes copies of f2c.h, f2c.1, and f2c.1t.
63 Tip: if asked to send over 99,000 bytes in one request, netlib
64 breaks the shipment into 1000 line pieces and sends each piece
65 separately (since otherwise some mailers might gag). To avoid
66 the hassle of reassembling the pieces, try to keep each request
67 under 99,000 bytes long. The final number in each line of
68 xsum0.out gives the length of each file in f2c/src. For
70 send exec.c expr.c from f2c/src
71 send format.c format_data.c from f2c/src
72 will give you slightly less hassle than
73 send exec.c expr.c format.c format_data.c from f2c/src
74 Alternatively, if all the mailers in your return path allow
75 long messages, you can supply an appropriate mailsize line in
76 your netlib request, e.g.
78 send exec.c expr.c format.c format_data.c from f2c/src
80 The makefile used to generate gram.c; now we distribute a
81 working gram.c, and you must say
84 if you want to generate your own gram.c -- there are just too
85 many broken variants of yacc floating around nowadays for
86 generation of gram.c to be the default.
88 NOTE: You may exercise f2c by sending netlib@netlib.bell-labs.com
89 a message whose first line is "execute f2c" and whose remaining
90 lines are the Fortran 77 source that you wish to have converted.
91 Return mail brings you the resulting C, with f2c's error
92 messages between #ifdef uNdEfInEd and #endif at the end.
93 (To understand line numbers in the error messages, regard
94 the "execute f2c" line as line 0. It is stripped away by
95 the netlib software before f2c sees your Fortran input.)
96 Options described in the man page may be transmitted to
97 netlib by having the first line of input be a comment
98 whose first 6 characters are "c$f2c " and whose remaining
99 characters are the desired options, e.g., "c$f2c -R -u".
101 You may say "execute f2c" in the Subject line instead of (but
102 *not* in addition to) in the first line of the message body.
104 The incoming Fortran is saved, at least for a while. Don't
108 BUGS: Please send bug reports (including the shortest example
109 you can find that illustrates the bug) to research!dmg
110 or dmg@bell-labs.com . You might first check whether
111 the bug goes away when you turn optimization off.
114 NOTE: f2c.h defines several types, e.g., real, integer, doublereal.
115 The definitions in f2c.h are suitable for most machines, but if
116 your machine has sizeof(double) > 2*sizeof(long), you may need
117 to adjust f2c.h appropriately. f2c assumes
118 sizeof(doublecomplex) = 2*sizeof(doublereal)
119 sizeof(doublereal) = sizeof(complex)
120 sizeof(doublereal) = 2*sizeof(real)
121 sizeof(real) = sizeof(integer)
122 sizeof(real) = sizeof(logical)
123 sizeof(real) = 2*sizeof(shortint)
124 EQUIVALENCEs may not be translated correctly if these
125 assumptions are violated.
127 On machines, such as those using a DEC Alpha processor, on
128 which sizeof(short) == 2, sizeof(int) == sizeof(float) == 4,
129 and sizeof(long) == sizeof(double) == 8, it suffices to
130 modify f2c.h by removing the first occurrence of "long "
131 on each line containing "long ", e.g., by issuing the
134 sed 's/long //' f2c.h0 >f2c.h
135 On such machines, one can enable INTEGER*8 by uncommenting
136 the typedef of longint in f2c.h, so it reads
137 typedef long longint;
138 by compiling libI77 with -DAllow_TYQUAD, and by adjusting
139 libF77/makefile as described in libF77/README.
141 Some machines may have sizeof(int) == 4, sizeof(float) == 8,
142 and sizeof(long long) == 8. On such machines, adjust f2c.h
143 by changing "long int " to "long long ", e.g., by saying
145 sed 's/long int /long long /' f2c.h0 >f2c.h
146 One can enable INTEGER*8 on such machines as described
148 typedef long long longint;
150 There exists a C compiler that objects to the lines
151 typedef VOID C_f; /* complex function */
152 typedef VOID H_f; /* character function */
153 typedef VOID Z_f; /* double complex function */
154 in f2c.h . If yours is such a compiler, do two things:
155 1. Complain to your vendor about this compiler bug.
158 in f2c.h and change it to
160 (For readability, the f2c.h lines shown above have had two
161 tabs inserted before their first character.)
163 FTP: All the material described above is now available by anonymous
164 ftp from netlib.bell-labs.com (login: anonymous; Password: your
165 E-mail address; cd netlib/f2c). Note that you can say, e.g.,
172 to get all the .gz files in src. You must uncompress the .gz
173 files once you have a copy of them, e.g., by
177 You can also get the entire f2c tree as a tar file:
179 ftp://netlib.bell-labs.com/netlib/f2c.tar
181 (which is a synthetic file -- created on the fly and not visible
182 to ftp's "ls" or "dir" commands).
184 Subdirectory msdos contains two PC versions of f2c,
185 f2c.exe.gz and f2cx.exe.gz; the latter uses extended memory.
186 The README in that directory provides more details.
188 Changes appear first in the f2c files available by E-mail
189 from netlib@netlib.bell-labs.com. If the deamons work right,
190 changed files are available the next day by ftp from
191 netlib.bell-labs.com. In due course, they reach other netlib servers.
194 Send the E-mail message
196 to netlib@netlib.bell-labs.com to request notification of new and
197 changed f2c files. (Beware that automatically sent change
198 notifications may reach you before changes have reached
199 ftp://netlib.bell-labs.com/netlib/f2c or to other netlib servers.)
200 Send the E-mail message
202 to recant your notification request.
205 Recent change log (partial)
208 Mon May 13 23:35:26 EDT 1996
209 Recognize Fortran 90's /= as a synonym for .NE.. (<> remains a
211 Emit an empty int function of no arguments to supply an external
212 name to named block data subprograms (so they can be called somewhere
213 to force them to be loaded from a library).
214 Fix bug (memory fault) in handling the following illegal Fortran:
218 Treat cdabs, cdcos, cdexp, cdlog, cdsin, and cdsqrt as synonyms for
219 the double complex intrinsics zabs, zcos, zexp, zlog, zsin, and zsqrt,
220 respectively, unless -cd is specified.
221 Recognize the Fortran 90 bit-manipulation intrinsics btest, iand,
222 ibclr, ibits, ibset, ieor, ior, ishft, and ishftc, unless -i90 is
223 specified. Note that iand, ieor, and ior are thus now synonyms for
224 "and", "xor", and "or", respectively.
225 Add three macros (bit_test, bit_clear, bit_set) to f2c.h for use
226 with btest, ibclr, and ibset, respectively. Add new functions
227 [lq]bit_bits, [lq]bit_shift, and [lq]_bit_cshift to libF77 for
228 use with ibits, ishft, and ishftc, respectively.
229 Add integer function ftell(unit) (returning -1 on error) and
230 subroutine fseek(unit, offset, whence, *) to libI77 (with branch to
233 Tue May 14 23:21:12 EDT 1996
234 Fix glitch (possible memory fault, or worse) in handling multiple
235 entry points with names over 28 characters long.
237 Mon Jun 10 01:20:16 EDT 1996
238 Update netlib E-mail and ftp addresses in f2c/readme and
239 f2c/src/readme (which are different files) -- to reflect the upcoming
241 libf77: trivial tweaks to F77_aloc.c and system_.c; Version.c not
243 libi77: Adjust rsli.c and lread.c so internal list input with too
244 few items in the input string will honor end= .
246 Mon Jun 10 22:59:57 EDT 1996
247 Add Bits_per_Byte to sysdep.h and adjust definition of Table_size
248 to depend on Bits_per_Byte (forcing Table_size to be a power of 2); in
249 lex.c, change "comstart[c & 0xfff]" to "comstart[c & (Table_size-1)]"
250 to avoid an out-of-range subscript on end-of-file.
252 Wed Jun 12 00:24:28 EDT 1996
253 Fix bug in output.c (dereferencing a freed pointer) revealed in
254 print * !np in out_call in output.c clobbered by free
255 end !during out_expr.
257 Wed Jun 19 08:12:47 EDT 1996
258 f2c.h: add types uinteger, ulongint (for libF77); add qbit_clear
259 and qbit_set macros (in a commented-out section) for integer*8.
260 For integer*8, use qbit_clear and qbit_set for ibclr and ibset.
261 libf77: add casts to unsigned in [lq]bitshft.c.
263 Thu Jun 20 13:30:43 EDT 1996
264 Complain at character*(*) in common (rather than faulting).
265 Fix bug in recognizing hex constants that start with "16#" (e.g.,
266 16#1234abcd, which is a synonym for z'1234abcd').
267 Fix bugs in constant folding of expressions involving btest, ibclr,
269 Fix bug in constant folding of rshift(16#80000000, -31) (on a 32-bit
270 machine; more generally, the bug was in constant folding of
271 rshift(ibset(0,NBITS-1), 1-NBITS) when f2c runs on a machine with
272 long ints having NBITS bits.
274 Mon Jun 24 07:58:53 EDT 1996
275 Adjust struct Literal and newlabel() function to accommodate huge
276 source files (with more than 32767 newlabel() invocations).
277 Omit .c file when the .f file has a missing final end statement.
279 Wed Jun 26 14:00:02 EDT 1996
280 libi77: Add discussion of MXUNIT (highest allowed Fortran unit number)
283 Fri Jun 28 14:16:11 EDT 1996
284 Fix glitch with -onetrip: the temporary variable used for nonconstant
285 initial loop variable values was recycled too soon. Example:
287 call foo(i+1) ! temp for j+1 was reused here
291 Tue Jul 2 16:11:27 EDT 1996
292 formatdata.c: add a 0 to the end of the basetype array (for TYBLANK)
293 (an omission that was harmless on most machines).
294 expr.c: fix a dereference of NULL that was only possible with buggy
296 subroutine $sub(s) ! the '$' is erroneous
301 Sat Jul 6 00:44:56 EDT 1996
302 Fix glitch in the intrinsic "real" function when applied to a
303 complex (or double complex) variable and passed as an argument to
304 some intrinsic functions. Example:
308 Fix glitch (only visible if you do not use f2c's malloc and the
309 malloc you do use is defective in the sense that malloc(0) returns 0)
310 in handling include files that end with another include (perhaps
311 followed by comments).
312 Fix glitch with character*(*) arguments named "h" and "i" when
313 the body of the subroutine invokes the intrinsic LEN function.
314 Arrange that after a previous "f2c -P foo.f" has produced foo.P,
315 running "f2c foo.P foo.f" will produce valid C when foo.f contains
320 Specifically, the length argument in "call sub" is now suppressed.
321 With or without foo.P, it is also now suppressed when the order of
322 subprograms in file foo.f is reversed:
327 Adjust copyright notices to reflect AT&T breakup.
329 Wed Jul 10 09:25:49 EDT 1996
330 Fix bug (possible memory fault) in handling erroneously placed
331 and inconsistent declarations. Example that faulted:
337 integer m(2) ! should be before data
339 Fix bug (possible fault) in handling illegal "if" constructions.
340 Example (that faulted):
342 if (i) then ! bug: i is integer, not logical
343 else if (j) then ! bug: j is integer, not logical
346 Fix glitch with character*(*) argument named "ret_len" to a
347 character*(*) function.
349 Wed Jul 10 23:04:16 EDT 1996
350 Fix more glitches in the intrinsic "real" function when applied to a
351 complex (or double complex) variable and passed as an argument to
352 some intrinsic functions. Example:
354 r = sqrt(real(conjg(a))) + sqrt(real(a*b))
357 Thu Jul 11 17:27:16 EDT 1996
358 Fix a memory fault associated with complicated, illegal input.
362 call foo(a) ! inconsistent with subsequent def and call
369 Wed Jul 17 19:18:28 EDT 1996
370 Fix yet another case of intrinsic "real" applied to a complex
373 x = sqrt(real(a(2))) ! gave error message about bad tag
376 Mon Aug 26 11:28:57 EDT 1996
377 Tweak sysdep.c for non-Unix systems in which process ID's can be
380 Tue Aug 27 08:31:32 EDT 1996
381 Adjust the ishft intrinsic to use unsigned right shifts. (Previously,
382 a negative constant second operand resulted in a possibly signed shift.)
384 Thu Sep 12 14:04:07 EDT 1996
385 equiv.c: fix glitch with -DKR_headers.
386 libi77: fmtlib.c: fix bug in printing the most negative integer.
388 Fri Sep 13 08:54:40 EDT 1996
389 Diagnose some illegal appearances of substring notation.
391 Tue Sep 17 17:48:09 EDT 1996
392 Fix fault in handling some complex parameters. Example:
396 a = b ! f2c faulted here
399 Thu Sep 26 07:47:10 EDT 1996
400 libi77: fmt.h: for formatted writes of negative integer*1 values,
401 make ic signed on ANSI systems. If formatted writes of integer*1
402 values trouble you when using a K&R C compiler, switch to an ANSI
403 compiler or use a compiler flag that makes characters signed.
405 Tue Oct 1 14:41:36 EDT 1996
406 Give a better error message when dummy arguments appear in data
409 Thu Oct 17 13:37:22 EDT 1996
410 Fix bug in typechecking arguments to character and complex (or
411 double complex) functions; the bug could cause length arguments
412 for character arguments to be omitted on invocations appearing
413 textually after the first invocation. For example, in
417 call goo(zot(c), zot(c))
419 the length was omitted from the second invocation of zot, and
420 there was an erroneous error message about inconsistent calling
423 Wed Dec 4 13:59:14 EST 1996
425 subroutine test(cdum,rdum)
427 rdum=cos(real(cdum)) ! "Unexpected tag 3 in opconv_fudge"
429 Fix glitch in parsing "DO 10 D0 = 1, 10".
430 Fix glitch in parsing
432 real*8 x ! erroneous "incompatible type" message
435 lib[FI]77/makefile: add comment about omitting -x under Solaris.
437 Mon Dec 9 23:15:02 EST 1996
438 Fix glitch in parameter adjustments for arrays whose lower
439 bound depends on a scalar argument. Example:
440 subroutine bug(p,z,m,n)
442 double precision p(z(m):z(m) + n) ! p_offset botched
445 libi77: complain about non-positive rec= in direct read and write
447 libf77: trivial adjustments; Version.c not changed.
449 Wed Feb 12 00:18:03 EST 1997
450 output.c: fix (seldom problematic) glitch in out_call: put parens
451 around the ... in a test of the form "if (q->tag == TADDR && ...)".
452 vax.c: fix bug revealed in the "psi_offset =" assignment in the
454 subroutine foo(psi,m)
457 double precision psi(z(m):z(m) + 10)
458 call foo(m+1, psi(0),psi(10))
461 Mon Feb 24 23:44:54 EST 1997
462 For consistency with f2c's current treatment of adjacent character
463 strings in FORMAT statements, recognize a Hollerith string following
464 a string (and merge adjacent strings in FORMAT statements).
466 Wed Feb 26 13:41:11 EST 1997
467 New libf2c.zip, a combination of the libf77 and libi77 bundles (and
468 available only by ftp).
469 libf77: adjust functions with a complex output argument to permit
470 aliasing it with input arguments. (For now, at least, this is just
471 for possible benefit of g77.)
472 libi77: tweak to ftell_.c for systems with strange definitions of
475 Tue Apr 8 20:57:08 EDT 1997
476 libf77: [cz]_div.c: tweaks invisible on most systems (that may
477 improve things slightly with optimized compilation on systems that use
478 gratuitous extra precision).
479 libi77: fmt.c: adjust to complain at missing numbers in formats
480 (but still treat missing ".nnn" as ".0").
482 Fri Apr 11 14:05:57 EDT 1997
483 libi77: err.c: attempt to make stderr line buffered rather than
484 fully buffered. (Buffering is needed for format items T and TR.)
486 Thu Apr 17 22:42:43 EDT 1997
487 libf77: add F77_aloc.o to makefile (and makefile.u in libf2c.zip).
489 Fri Apr 25 19:32:09 EDT 1997
490 libf77: add [de]time_.c (which may give trouble on some systems).
492 Tue May 27 09:18:52 EDT 1997
493 libi77: ftell_.c: fix typo that caused the third argument to be
494 treated as 2 on some systems.
496 Mon Jun 9 00:04:37 EDT 1997
497 libi77 (and libf2c.zip): adjust include order in err.c lread.c wref.c
498 rdfmt.c to include fmt.h (etc.) after system includes. Version.c not
501 Mon Jun 9 14:29:13 EDT 1997
502 src/gram.c updated; somehow it did not reflect the change of
503 19961001 to gram.dcl.
505 Mon Jul 21 16:04:54 EDT 1997
506 proc.c: fix glitch in logic for "nonpositive dimension" message.
507 libi77: inquire.c: always include string.h (for possible use with
508 -DNON_UNIX_STDIO); Version.c not changed.
510 Thu Jul 24 17:11:23 EDT 1997
511 Tweak "Notice" to reflect the AT&T breakup -- we missed it when
512 updating the copyright notices in the source files last summer.
513 Adjust src/makefile so malloc.o is not used by default, but can
514 be specified with "make MALLOC=malloc.o".
515 Add comments to src/README about the "CRAY" T3E.
517 Tue Aug 5 14:53:25 EDT 1997
518 Add definition of calloc to malloc.c; this makes f2c's malloc
519 work on some systems where trouble hitherto arose because references
520 to calloc brought in the system's malloc. (On sensible systems,
521 calloc is defined separately from malloc. To avoid confusion on
522 other systems, f2c/malloc.c now defines calloc.)
523 libi77: lread.c: adjust to accord with a change to the Fortran 8X
524 draft (in 1990 or 1991) that rescinded permission to elide quote marks
525 in namelist input of character data; to get the old behavior, compile
526 with F8X_NML_ELIDE_QUOTES #defined. wrtfmt.o: wrt_G: tweak to print
527 the right number of 0's for zero under G format.
529 Sat Aug 16 05:45:32 EDT 1997
530 libi77: iio.c: fix bug in internal writes to an array of character
531 strings that sometimes caused one more array element than required by
532 the format to be blank-filled. Example: format(1x).
534 Wed Sep 17 00:39:29 EDT 1997
535 libi77: fmt.[ch] rdfmt.c wrtfmt.c: tweak struct syl for machines
536 with 64-bit pointers and 32-bit ints that did not 64-bit align
537 struct syl (e.g., Linux on the DEC Alpha). This change should be
538 invisible on other machines.
540 Sun Sep 21 22:05:19 EDT 1997
541 libf77: [de]time_.c (Unix systems only): change return type to double.
543 Thu Dec 4 22:10:09 EST 1997
544 Fix bug with handling large blocks of comments (over 4k); parts of the
545 second and subsequent blocks were likely to be lost (not copied into
546 comments in the resulting C). Allow comment lines to be longer before
549 Mon Jan 19 17:19:27 EST 1998
550 makefile: change the rule for making gram.c to one for making gram1.c;
551 henceforth, asking netlib to "send all from f2c/src" will bring you a
552 working gram.c. Nowadays there are simply too many broken versions of
553 yacc floating around.
554 libi77: backspace.c: for b->ufmt==0, change sizeof(int) to
555 sizeof(uiolen). On machines where this would make a difference, it is
556 best for portability to compile libI77 with -DUIOLEN_int, which will
557 render the change invisible.
559 Tue Feb 24 08:35:33 EST 1998
560 makefile: remove gram.c from the "make clean" rule.
562 Wed Feb 25 08:29:39 EST 1998
563 makefile: change CFLAGS assignment to -O; add "veryclean" rule.
565 Wed Mar 4 13:13:21 EST 1998
566 libi77: open.c: fix glitch in comparing file names under
569 Mon Mar 9 23:56:56 EST 1998
570 putpcc.c: omit an unnecessary temporary variable in computing
572 libf77, libi77: minor tweaks to make some C++ compilers happy;
573 Version.c not changed.
575 Wed Mar 18 18:08:47 EST 1998
576 libf77: minor tweaks to [ed]time_.c; Version.c not changed.
577 libi77: endfile.c, open.c: acquire temporary files from tmpfile(),
578 unless compiled with -DNON_ANSI_STDIO, which uses mktemp().
579 New buffering scheme independent of NON_UNIX_STDIO for handling T
580 format items. Now -DNON_UNIX_STDIO is no longer be necessary for
581 Linux, and libf2c no longer causes stderr to be buffered -- the former
582 setbuf or setvbuf call for stderr was to make T format items work.
583 open.c: use the Posix access() function to check existence or
584 nonexistence of files, except under -DNON_POSIX_STDIO, where trial
585 fopen calls are used. In open.c, fix botch in changes of 19980304.
586 libf2c.zip: the PC makefiles are now set for NT/W95, with comments
587 about changes for DOS.
589 Fri Apr 3 17:22:12 EST 1998
590 Adjust fix of 19960913 to again permit substring notation on
591 character variables in data statements.
593 Sun Apr 5 19:26:50 EDT 1998
594 libi77: wsfe.c: make $ format item work: this was lost in the changes
597 Sat May 16 19:08:51 EDT 1998
598 Adjust output of ftnlen constants: rather than appending L,
599 prepend (ftnlen). This should make the resulting C more portable,
600 e.g., to systems (such as DEC Alpha Unix systems) on which long
601 may be longer than ftnlen.
602 Adjust -r so it also casts REAL expressions passed to intrinsic
605 Wed May 27 16:02:35 EDT 1998
606 libf2c.zip: tweak description of compiling libf2c for INTEGER*8
607 to accord with makefile.u rather than libF77/makefile.
609 Thu May 28 22:45:59 EDT 1998
610 libi77: backspace.c dfe.c due.c iio.c lread.c rsfe.c sue.c wsfe.c:
611 set f__curunit sooner so various error messages will correctly
612 identify the I/O unit involved.
613 libf2c.zip: above, plus tweaks to PC makefiles: for some purposes,
614 it's still best to compile with -DMSDOS (even for use with NT).
616 Thu Jun 18 01:22:52 EDT 1998
617 libi77: lread.c: modified so floating-point numbers (containing
618 either a decimal point or an exponent field) are treated as errors
619 when they appear as list input for integer data. Compile lread.c with
620 -DALLOW_FLOAT_IN_INTEGER_LIST_INPUT to restore the old behavior.
622 Mon Aug 31 10:38:54 EDT 1998
623 formatdata.c: if possible, and assuming doubles must be aligned on
624 double boundaries, use existing holes in DATA for common blocks to
625 force alignment of the block. For example,
637 } abc_ = { {0}, 1, 0. };
640 doublereal fill_1[1];
643 } abc_ = { {0}, {0}, 1 };
644 In the old generated C, e_3 was added to force alignment; in the new C,
645 fill_1 does this job.
647 Mon Sep 7 19:48:51 EDT 1998
648 libi77: move e_wdfe from sfe.c to dfe.c, where it was originally.
649 Why did it ever move to sfe.c?
651 Tue Sep 8 10:22:50 EDT 1998
652 Treat dreal as a synonym for dble unless -cd is specified on the
655 Sun Sep 13 22:23:41 EDT 1998
656 format.c: fix bug in writing prototypes under f2c -A ... *.P:
657 under some circumstances involving external functions with no known
658 type, a null pointer was passed to printf.
660 Tue Oct 20 23:25:54 EDT 1998
661 Comments added to libf2c/README and libF77/README, pointing out
662 the need to modify signal1.h on some systems.
664 Thu Nov 12 15:34:09 EST 1998
665 libf77, libf2c.zip: minor tweaks to [de]time_.c and the makefiles,
666 so makefile.sy, makefile.vc, and makefile.wat deal with [de]time_.c.
668 Wed Feb 10 22:59:52 EST 1999
669 defs.h lex.c: permit long names (up to at least roughly
670 MAX_SHARPLINE_LEN = 1000 characters long) in #line lines (which only
672 fc: add -U option; recognize .so files.
674 Sat Feb 13 10:18:27 EST 1999
675 libf2c: endfile.c, lread.c, signal1.h0: minor tweaks to make some
676 (C++) compilers happier; f77_aloc.c: make exit_() visible to C++
677 compilers. Version strings not changed.
679 Thu Mar 11 23:14:02 EST 1999
680 Modify f2c (exec.c, expr.c) to diagnose incorrect mixing of types
681 when (f2c extended) intrinsic functions are involved, as in
682 (not(17) .and. 4). Catching this in the first executable statement
683 is a bit tricky, as some checking must be postponed until all statement
684 function declarations have been parsed. Thus there is a chance of
685 today's changes introducing bugs under (let us hope) unusual conditions.
687 Sun Mar 28 13:17:44 EST 1999
688 lex.c: tweak to get the file name right in error messages caused
689 by statements just after a # nnn "filename" line emitted by the C
690 preprocessor. (The trouble is that the line following the # nnn line
691 must be read to see if it is a continuation of the stuff that preceded
692 the # nnn line.) When # nnn "filename" lines appear among the lines
693 for a Fortran statement, the filename reported in an error message for
694 the statement should now be the file that was current when the first
695 line of the statement was read.
697 Sun May 2 22:38:25 EDT 1999
698 libf77, libi77, libf2c.zip: make getenv_() more portable (call
699 getenv() rather than knowing about char **environ); adjust some
700 complex intrinsics to work with overlapping arguments (caused by
701 inappropriate use of equivalence); open.c: get "external" versus
702 "internal" right in the error message if a file cannot be opened;
703 err.c: cast a pointer difference to (int) for %d; rdfmt.c: omit
704 fixed-length buffer that could be overwritten by formats Inn or Lnn
707 Mon May 3 13:14:07 EDT 1999
708 "Invisible" changes to omit a few compiler warnings in f2c and
709 libf2c; two new casts in libf2c/open.c that matter with 64-bit longs,
710 and one more tweak (libf2c/c_log.c) for pathological equivalences.
711 Minor update to "fc" script: new -L flag and comment correction.
713 Tue May 4 10:06:26 EDT 1999
714 libf77, libf2c.zip: forgot to copy yesterday's latest updates to
717 Fri Jun 18 02:33:08 EDT 1999
718 libf2c.zip: rename backspace.c backspac.c, and fix a glitch in it
719 -- b->ufd may change in t_runc(). (For now, it's still backspace.c
720 in the libi77 bundle.)
722 Sun Jun 27 22:05:47 EDT 1999
723 libf2c.zip, libi77: rsne.c: fix bug in namelist input: a misplaced
724 increment could cause wrong array elements to be assigned; e.g.,
725 "&input k(5)=10*1 &end" assigned k(5) and k(15 .. 23).
728 Current timestamps of files in "all from f2c/src", sorted by time,
729 appear below (mm/dd/year hh:mm:ss). To bring your source up to date,
730 obtain source files with a timestamp later than the time shown in your
731 version.c. Note that the time shown in the current version.c is the
732 timestamp of the source module that immediately follows version.c below:
734 5/03/1999 12:46:15 version.c
735 5/03/1999 12:39:35 formatdata.c
736 5/03/1999 12:31:14 format.c
737 5/03/1999 12:27:17 p1output.c
738 5/03/1999 12:27:17 data.c
739 5/03/1999 10:01:12 xsum0.out
740 5/03/1999 9:59:36 io.c
741 5/03/1999 9:59:36 misc.c
742 5/03/1999 9:59:36 init.c
743 3/26/1999 23:18:11 lex.c
744 3/11/1999 16:44:17 expr.c
745 3/11/1999 16:42:42 exec.c
746 2/10/1999 17:43:01 defs.h
747 9/08/1998 10:16:51 f2c.1
748 9/08/1998 10:16:48 f2c.1t
749 9/08/1998 10:14:53 intr.c
750 5/16/1998 16:55:49 output.c
751 4/03/1998 17:15:05 gram.c
752 4/03/1998 17:14:59 gram.dcl
753 3/09/1998 0:30:23 putpcc.c
754 2/25/1998 8:18:04 makefile
755 12/04/1997 17:44:11 niceprintf.c
756 8/05/1997 10:31:26 malloc.c
757 7/24/1997 17:10:55 README
758 7/24/1997 16:06:19 Notice
759 7/21/1997 12:58:44 proc.c
760 2/11/1997 23:39:14 vax.c
761 12/04/1996 13:07:53 gram.exec
762 9/12/1996 12:12:46 equiv.c
763 8/26/1996 9:41:13 sysdep.c
764 7/09/1996 10:40:45 names.c
765 7/04/1996 9:55:45 sysdep.h
766 7/04/1996 9:55:43 put.c
767 7/04/1996 9:55:41 pread.c
768 7/04/1996 9:55:40 parse_args.c
769 7/04/1996 9:55:36 mem.c
770 7/04/1996 9:55:36 memset.c
771 7/04/1996 9:55:35 main.c
772 7/04/1996 9:55:29 error.c
773 7/04/1996 9:55:27 cds.c
774 7/03/1996 15:47:49 xsum.c
775 6/19/1996 7:04:27 f2c.h
776 6/19/1996 2:52:05 defines.h
777 5/13/1996 0:40:32 gram.head
778 2/25/1994 2:07:19 parse.h
779 2/22/1994 19:07:20 iob.h
780 2/22/1994 18:56:53 p1defs.h
781 2/22/1994 18:53:46 output.h
782 2/22/1994 18:51:14 names.h
783 2/22/1994 18:30:41 format.h
784 1/18/1994 18:12:52 tokens
785 3/06/1993 14:13:58 gram.expr
786 1/28/1993 9:03:16 ftypes.h
787 4/06/1990 0:00:57 gram.io
788 2/03/1990 0:58:26 niceprintf.h
789 1/07/1990 1:20:01 usignal.h
790 11/27/1989 8:27:37 machdefs.h
791 7/01/1989 11:59:44 pccdefs.h