]> gcc.gnu.org Git - gcc.git/blame - libf2c/readme.netlib
Daily bump.
[gcc.git] / libf2c / readme.netlib
CommitLineData
81fea2b1
JL
1
2====== old index for f2c, now "readme from f2c" ============
3
4FILES:
5
6f2c.h Include file necessary for compiling output of the converter.
7 See the second NOTE below.
8
9f2c.1 Man page for f2c.
10
11f2c.1t Source for f2c.1 (to be processed by troff -man or nroff -man).
12
13libf77 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
17libi77 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 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.
30
31libf2c.zip
32 Only available by ftp: combination of libf77 and libi77, with
33 Unix and PC makefiles.
34
35f2c.ps Postscript for a technical report on f2c. After you strip the
36 mail header, the first line should be "%!PS".
37
38fixes The complete change log, reporting bug fixes and other changes.
39 (Some recent change-log entries are given below).
40
41fc 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.
45
46
47SUBDIRECTORY:
48
49f2c/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
53 send all from f2c/src
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
58 would ask netlib to
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.
62
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
69 example,
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.
77 mailsize 200k
78 send exec.c expr.c format.c format_data.c from f2c/src
79
a843efa0
CB
80 The makefile used to generate gram.c; now we distribute a
81 working gram.c, and you must say
82 make gram1.c
83 mv gram1.c gram.c
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.
87
88NOTE: 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.
81fea2b1
JL
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".
100
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.
103
104 The incoming Fortran is saved, at least for a while. Don't
105 send any secrets!
106
107
108BUGS: 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.
112
113
114NOTE: 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.
126
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
132 commands
133 mv f2c.h f2c.h0
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.
140
fbc6d363
DL
141 Some machines may have sizeof(int) == 4, sizeof(float) == 8,
142 and sizeof(long long) == 8. On such machines, adjust f2c.h
81fea2b1
JL
143 by changing "long int " to "long long ", e.g., by saying
144 mv f2c.h f2c.h0
145 sed 's/long int /long long /' f2c.h0 >f2c.h
146 One can enable INTEGER*8 on such machines as described
147 above, but with
148 typedef long long longint;
149
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.
156 2. Find the line
157 #define VOID void
158 in f2c.h and change it to
159 #define VOID int
160 (For readability, the f2c.h lines shown above have had two
161 tabs inserted before their first character.)
162
163FTP: 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.,
166
167 cd /netlib/f2c/src
168 binary
169 prompt
a843efa0 170 mget *.gz
81fea2b1 171
a843efa0 172 to get all the .gz files in src. You must uncompress the .gz
81fea2b1
JL
173 files once you have a copy of them, e.g., by
174
a843efa0
CB
175 gzip -dN *.gz
176
177 You can also get the entire f2c tree as a tar file:
178
179 ftp://netlib.bell-labs.com/netlib/f2c.tar
180
181 (which is a synthetic file -- created on the fly and not visible
182 to ftp's "ls" or "dir" commands).
81fea2b1
JL
183
184 Subdirectory msdos contains two PC versions of f2c,
a843efa0 185 f2c.exe.gz and f2cx.exe.gz; the latter uses extended memory.
81fea2b1
JL
186 The README in that directory provides more details.
187
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.
192
193CHANGE NOTIFICATION:
194 Send the E-mail message
195 subscribe f2c
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
201 unsubscribe f2c
202 to recant your notification request.
203
204-----------------
205Recent change log (partial)
206-----------------
207
208Mon May 13 23:35:26 EDT 1996
209 Recognize Fortran 90's /= as a synonym for .NE.. (<> remains a
210synonym for .NE..)
211 Emit an empty int function of no arguments to supply an external
212name to named block data subprograms (so they can be called somewhere
213to force them to be loaded from a library).
214 Fix bug (memory fault) in handling the following illegal Fortran:
215 parameter(i=1)
216 equivalence(i,j)
217 end
218 Treat cdabs, cdcos, cdexp, cdlog, cdsin, and cdsqrt as synonyms for
219the double complex intrinsics zabs, zcos, zexp, zlog, zsin, and zsqrt,
220respectively, unless -cd is specified.
221 Recognize the Fortran 90 bit-manipulation intrinsics btest, iand,
222ibclr, ibits, ibset, ieor, ior, ishft, and ishftc, unless -i90 is
223specified. 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
226with btest, ibclr, and ibset, respectively. Add new functions
227[lq]bit_bits, [lq]bit_shift, and [lq]_bit_cshift to libF77 for
228use with ibits, ishft, and ishftc, respectively.
229 Add integer function ftell(unit) (returning -1 on error) and
230subroutine fseek(unit, offset, whence, *) to libI77 (with branch to
231label * on error).
232
233Tue May 14 23:21:12 EDT 1996
234 Fix glitch (possible memory fault, or worse) in handling multiple
235entry points with names over 28 characters long.
236
237Mon Jun 10 01:20:16 EDT 1996
238 Update netlib E-mail and ftp addresses in f2c/readme and
239f2c/src/readme (which are different files) -- to reflect the upcoming
240breakup of AT&T.
241 libf77: trivial tweaks to F77_aloc.c and system_.c; Version.c not
242changed.
243 libi77: Adjust rsli.c and lread.c so internal list input with too
244few items in the input string will honor end= .
245
246Mon Jun 10 22:59:57 EDT 1996
247 Add Bits_per_Byte to sysdep.h and adjust definition of Table_size
248to depend on Bits_per_Byte (forcing Table_size to be a power of 2); in
249lex.c, change "comstart[c & 0xfff]" to "comstart[c & (Table_size-1)]"
250to avoid an out-of-range subscript on end-of-file.
251
252Wed 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.
256
257Wed Jun 19 08:12:47 EDT 1996
258 f2c.h: add types uinteger, ulongint (for libF77); add qbit_clear
259and 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.
262
263Thu 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.,
26616#1234abcd, which is a synonym for z'1234abcd').
267 Fix bugs in constant folding of expressions involving btest, ibclr,
268and ibset.
269 Fix bug in constant folding of rshift(16#80000000, -31) (on a 32-bit
270machine; more generally, the bug was in constant folding of
271rshift(ibset(0,NBITS-1), 1-NBITS) when f2c runs on a machine with
272long ints having NBITS bits.
273
274Mon Jun 24 07:58:53 EDT 1996
275 Adjust struct Literal and newlabel() function to accommodate huge
276source files (with more than 32767 newlabel() invocations).
277 Omit .c file when the .f file has a missing final end statement.
278
279Wed Jun 26 14:00:02 EDT 1996
280 libi77: Add discussion of MXUNIT (highest allowed Fortran unit number)
281to libI77/README.
282
283Fri Jun 28 14:16:11 EDT 1996
284 Fix glitch with -onetrip: the temporary variable used for nonconstant
285initial loop variable values was recycled too soon. Example:
286 do i = j+1, k
287 call foo(i+1) ! temp for j+1 was reused here
288 enddo
289 end
290
291Tue 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
295input, such as
296 subroutine $sub(s) ! the '$' is erroneous
297 character s*(*)
298 s(1:) = ' '
299 end
300
301Sat Jul 6 00:44:56 EDT 1996
302 Fix glitch in the intrinsic "real" function when applied to a
303complex (or double complex) variable and passed as an argument to
304some intrinsic functions. Example:
305 complex a
306 b = sqrt(real(a))
307 end
308 Fix glitch (only visible if you do not use f2c's malloc and the
309malloc you do use is defective in the sense that malloc(0) returns 0)
310in handling include files that end with another include (perhaps
311followed by comments).
312 Fix glitch with character*(*) arguments named "h" and "i" when
313the body of the subroutine invokes the intrinsic LEN function.
314 Arrange that after a previous "f2c -P foo.f" has produced foo.P,
315running "f2c foo.P foo.f" will produce valid C when foo.f contains
316 call sub('1234')
317 end
318 subroutine sub(msg)
319 end
320Specifically, the length argument in "call sub" is now suppressed.
321With or without foo.P, it is also now suppressed when the order of
322subprograms in file foo.f is reversed:
323 subroutine sub(msg)
324 end
325 call sub('1234')
326 end
327 Adjust copyright notices to reflect AT&T breakup.
328
329Wed Jul 10 09:25:49 EDT 1996
330 Fix bug (possible memory fault) in handling erroneously placed
331and inconsistent declarations. Example that faulted:
332 character*1 w(8)
333 call foo(w)
334 end
335 subroutine foo(m)
336 data h /0.5/
337 integer m(2) ! should be before data
338 end
339 Fix bug (possible fault) in handling illegal "if" constructions.
340Example (that faulted):
341 subroutine foo(i,j)
342 if (i) then ! bug: i is integer, not logical
343 else if (j) then ! bug: j is integer, not logical
344 endif
345 end
346 Fix glitch with character*(*) argument named "ret_len" to a
347character*(*) function.
348
349Wed Jul 10 23:04:16 EDT 1996
350 Fix more glitches in the intrinsic "real" function when applied to a
351complex (or double complex) variable and passed as an argument to
352some intrinsic functions. Example:
353 complex a, b
354 r = sqrt(real(conjg(a))) + sqrt(real(a*b))
355 end
356
357Thu Jul 11 17:27:16 EDT 1996
358 Fix a memory fault associated with complicated, illegal input.
359Example:
360 subroutine goo
361 character a
362 call foo(a) ! inconsistent with subsequent def and call
363 end
364 subroutine foo(a)
365 end
366 call foo(a)
367 end
368
369Wed Jul 17 19:18:28 EDT 1996
370 Fix yet another case of intrinsic "real" applied to a complex
371argument. Example:
372 complex a(3)
373 x = sqrt(real(a(2))) ! gave error message about bad tag
374 end
375
376Mon Aug 26 11:28:57 EDT 1996
377 Tweak sysdep.c for non-Unix systems in which process ID's can be
378over 5 digits long.
379
380Tue Aug 27 08:31:32 EDT 1996
381 Adjust the ishft intrinsic to use unsigned right shifts. (Previously,
382a negative constant second operand resulted in a possibly signed shift.)
383
384Thu 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.
387
388Fri Sep 13 08:54:40 EDT 1996
389 Diagnose some illegal appearances of substring notation.
390
391Tue Sep 17 17:48:09 EDT 1996
392 Fix fault in handling some complex parameters. Example:
393 subroutine foo(a)
394 double complex a, b
395 parameter(b = (0,1))
396 a = b ! f2c faulted here
397 end
398
399Thu Sep 26 07:47:10 EDT 1996
400 libi77: fmt.h: for formatted writes of negative integer*1 values,
401make ic signed on ANSI systems. If formatted writes of integer*1
402values trouble you when using a K&R C compiler, switch to an ANSI
403compiler or use a compiler flag that makes characters signed.
404
405Tue Oct 1 14:41:36 EDT 1996
406 Give a better error message when dummy arguments appear in data
407statements.
408
409Thu Oct 17 13:37:22 EDT 1996
410 Fix bug in typechecking arguments to character and complex (or
411double complex) functions; the bug could cause length arguments
412for character arguments to be omitted on invocations appearing
413textually after the first invocation. For example, in
414 subroutine foo
415 character c
416 complex zot
417 call goo(zot(c), zot(c))
418 end
419the length was omitted from the second invocation of zot, and
420there was an erroneous error message about inconsistent calling
421sequences.
422
423Wed Dec 4 13:59:14 EST 1996
424 Fix bug revealed by
425 subroutine test(cdum,rdum)
426 complex cdum
427 rdum=cos(real(cdum)) ! "Unexpected tag 3 in opconv_fudge"
428 end
429 Fix glitch in parsing "DO 10 D0 = 1, 10".
430 Fix glitch in parsing
431 real*8 x
432 real*8 x ! erroneous "incompatible type" message
433 call foo(x)
434 end
435 lib[FI]77/makefile: add comment about omitting -x under Solaris.
436
437Mon Dec 9 23:15:02 EST 1996
438 Fix glitch in parameter adjustments for arrays whose lower
439bound depends on a scalar argument. Example:
440 subroutine bug(p,z,m,n)
441 integer z(*),m,n
442 double precision p(z(m):z(m) + n) ! p_offset botched
443 call foo(p(0), p(n))
444 end
445 libi77: complain about non-positive rec= in direct read and write
446statements.
447 libf77: trivial adjustments; Version.c not changed.
448
449Wed Feb 12 00:18:03 EST 1997
450 output.c: fix (seldom problematic) glitch in out_call: put parens
451around the ... in a test of the form "if (q->tag == TADDR && ...)".
452 vax.c: fix bug revealed in the "psi_offset =" assignment in the
453following example:
454 subroutine foo(psi,m)
455 integer z(100),m
456 common /a/ z
457 double precision psi(z(m):z(m) + 10)
458 call foo(m+1, psi(0),psi(10))
459 end
460
461Mon Feb 24 23:44:54 EST 1997
462 For consistency with f2c's current treatment of adjacent character
463strings in FORMAT statements, recognize a Hollerith string following
464a string (and merge adjacent strings in FORMAT statements).
465
466Wed Feb 26 13:41:11 EST 1997
467 New libf2c.zip, a combination of the libf77 and libi77 bundles (and
468available only by ftp).
469 libf77: adjust functions with a complex output argument to permit
470aliasing it with input arguments. (For now, at least, this is just
471for possible benefit of g77.)
472 libi77: tweak to ftell_.c for systems with strange definitions of
473SEEK_SET, etc.
474
475Tue Apr 8 20:57:08 EDT 1997
476 libf77: [cz]_div.c: tweaks invisible on most systems (that may
477improve things slightly with optimized compilation on systems that use
478gratuitous extra precision).
479 libi77: fmt.c: adjust to complain at missing numbers in formats
480(but still treat missing ".nnn" as ".0").
481
482Fri Apr 11 14:05:57 EDT 1997
483 libi77: err.c: attempt to make stderr line buffered rather than
484fully buffered. (Buffering is needed for format items T and TR.)
485
486Thu Apr 17 22:42:43 EDT 1997
487 libf77: add F77_aloc.o to makefile (and makefile.u in libf2c.zip).
488
489Fri Apr 25 19:32:09 EDT 1997
490 libf77: add [de]time_.c (which may give trouble on some systems).
491
492Tue May 27 09:18:52 EDT 1997
493 libi77: ftell_.c: fix typo that caused the third argument to be
494treated as 2 on some systems.
495
496Mon Jun 9 00:04:37 EDT 1997
497 libi77 (and libf2c.zip): adjust include order in err.c lread.c wref.c
498rdfmt.c to include fmt.h (etc.) after system includes. Version.c not
499changed.
500
501Mon Jun 9 14:29:13 EDT 1997
502 src/gram.c updated; somehow it did not reflect the change of
50319961001 to gram.dcl.
504
505Mon 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.
509
510Thu Jul 24 17:11:23 EDT 1997
511 Tweak "Notice" to reflect the AT&T breakup -- we missed it when
512updating the copyright notices in the source files last summer.
513 Adjust src/makefile so malloc.o is not used by default, but can
514be specified with "make MALLOC=malloc.o".
515 Add comments to src/README about the "CRAY" T3E.
516
517Tue Aug 5 14:53:25 EDT 1997
518 Add definition of calloc to malloc.c; this makes f2c's malloc
519work on some systems where trouble hitherto arose because references
520to calloc brought in the system's malloc. (On sensible systems,
521calloc is defined separately from malloc. To avoid confusion on
522other systems, f2c/malloc.c now defines calloc.)
523 libi77: lread.c: adjust to accord with a change to the Fortran 8X
524draft (in 1990 or 1991) that rescinded permission to elide quote marks
525in namelist input of character data; to get the old behavior, compile
526with F8X_NML_ELIDE_QUOTES #defined. wrtfmt.o: wrt_G: tweak to print
527the right number of 0's for zero under G format.
528
529Sat Aug 16 05:45:32 EDT 1997
530 libi77: iio.c: fix bug in internal writes to an array of character
531strings that sometimes caused one more array element than required by
532the format to be blank-filled. Example: format(1x).
533
534Wed Sep 17 00:39:29 EDT 1997
535 libi77: fmt.[ch] rdfmt.c wrtfmt.c: tweak struct syl for machines
536with 64-bit pointers and 32-bit ints that did not 64-bit align
537struct syl (e.g., Linux on the DEC Alpha). This change should be
538invisible on other machines.
539
540Sun Sep 21 22:05:19 EDT 1997
541 libf77: [de]time_.c (Unix systems only): change return type to double.
542
a843efa0
CB
543Thu Dec 4 22:10:09 EST 1997
544 Fix bug with handling large blocks of comments (over 4k); parts of the
545second and subsequent blocks were likely to be lost (not copied into
546comments in the resulting C). Allow comment lines to be longer before
547breaking them.
548
549Mon Jan 19 17:19:27 EST 1998
550 makefile: change the rule for making gram.c to one for making gram1.c;
551henceforth, asking netlib to "send all from f2c/src" will bring you a
552working gram.c. Nowadays there are simply too many broken versions of
553yacc floating around.
554 libi77: backspace.c: for b->ufmt==0, change sizeof(int) to
555sizeof(uiolen). On machines where this would make a difference, it is
556best for portability to compile libI77 with -DUIOLEN_int, which will
557render the change invisible.
558
559Tue Feb 24 08:35:33 EST 1998
560 makefile: remove gram.c from the "make clean" rule.
561
562Wed Feb 25 08:29:39 EST 1998
563 makefile: change CFLAGS assignment to -O; add "veryclean" rule.
564
565Wed Mar 4 13:13:21 EST 1998
566 libi77: open.c: fix glitch in comparing file names under
567-DNON_UNIX_STDIO.
568
569Mon Mar 9 23:56:56 EST 1998
570 putpcc.c: omit an unnecessary temporary variable in computing
571(expr)**3.
572 libf77, libi77: minor tweaks to make some C++ compilers happy;
573Version.c not changed.
574
575Wed 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(),
578unless compiled with -DNON_ANSI_STDIO, which uses mktemp().
579New buffering scheme independent of NON_UNIX_STDIO for handling T
580format items. Now -DNON_UNIX_STDIO is no longer be necessary for
581Linux, and libf2c no longer causes stderr to be buffered -- the former
582setbuf or setvbuf call for stderr was to make T format items work.
583open.c: use the Posix access() function to check existence or
584nonexistence of files, except under -DNON_POSIX_STDIO, where trial
585fopen 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
587about changes for DOS.
588
589Fri Apr 3 17:22:12 EST 1998
590 Adjust fix of 19960913 to again permit substring notation on
591character variables in data statements.
592
593Sun Apr 5 19:26:50 EDT 1998
594 libi77: wsfe.c: make $ format item work: this was lost in the changes
595of 17 March 1998.
596
fbc6d363
DL
597Sat May 16 19:08:51 EDT 1998
598 Adjust output of ftnlen constants: rather than appending L,
599prepend (ftnlen). This should make the resulting C more portable,
600e.g., to systems (such as DEC Alpha Unix systems) on which long
601may be longer than ftnlen.
602 Adjust -r so it also casts REAL expressions passed to intrinsic
603functions to REAL.
604
605Wed May 27 16:02:35 EDT 1998
606 libf2c.zip: tweak description of compiling libf2c for INTEGER*8
607to accord with makefile.u rather than libF77/makefile.
608
609Thu 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:
611set f__curunit sooner so various error messages will correctly
612identify the I/O unit involved.
613 libf2c.zip: above, plus tweaks to PC makefiles: for some purposes,
614it's still best to compile with -DMSDOS (even for use with NT).
615
db7fe227
JL
616Thu Jun 18 01:22:52 EDT 1998
617 libi77: lread.c: modified so floating-point numbers (containing
618either a decimal point or an exponent field) are treated as errors
619when they appear as list input for integer data. Compile lread.c with
620-DALLOW_FLOAT_IN_INTEGER_LIST_INPUT to restore the old behavior.
621
dbf18916
CB
622Mon Aug 31 10:38:54 EDT 1998
623 formatdata.c: if possible, and assuming doubles must be aligned on
624double boundaries, use existing holes in DATA for common blocks to
625force alignment of the block. For example,
626 block data
627 common /abc/ a, b
628 double precision a
629 integer b(2)
630 data b(2)/1/
631 end
632used to generate
633 struct {
634 integer fill_1[3];
635 integer e_2;
636 doublereal e_3;
637 } abc_ = { {0}, 1, 0. };
638and now generates
639 struct {
640 doublereal fill_1[1];
641 integer fill_2[1];
642 integer e_3;
643 } abc_ = { {0}, {0}, 1 };
644In the old generated C, e_3 was added to force alignment; in the new C,
645fill_1 does this job.
646
647Mon Sep 7 19:48:51 EDT 1998
648 libi77: move e_wdfe from sfe.c to dfe.c, where it was originally.
649Why did it ever move to sfe.c?
650
651Tue Sep 8 10:22:50 EDT 1998
652 Treat dreal as a synonym for dble unless -cd is specified on the
653command line.
654
655Sun Sep 13 22:23:41 EDT 1998
656 format.c: fix bug in writing prototypes under f2c -A ... *.P:
657under some circumstances involving external functions with no known
658type, a null pointer was passed to printf.
659
660Tue Oct 20 23:25:54 EDT 1998
661 Comments added to libf2c/README and libF77/README, pointing out
662the need to modify signal1.h on some systems.
663
664Thu Nov 12 15:34:09 EST 1998
665 libf77, libf2c.zip: minor tweaks to [de]time_.c and the makefiles,
666so makefile.sy, makefile.vc, and makefile.wat deal with [de]time_.c.
667
668Wed Feb 10 22:59:52 EST 1999
669 defs.h lex.c: permit long names (up to at least roughly
670MAX_SHARPLINE_LEN = 1000 characters long) in #line lines (which only
671matters under -g).
672 fc: add -U option; recognize .so files.
673
674Sat Feb 13 10:18:27 EST 1999
a152cad7 675 libf2c: endfile.c, lread.c, signal1.h0: minor tweaks to make some
dbf18916
CB
676(C++) compilers happier; f77_aloc.c: make exit_() visible to C++
677compilers. Version strings not changed.
678
a152cad7
CB
679Thu Mar 11 23:14:02 EST 1999
680 Modify f2c (exec.c, expr.c) to diagnose incorrect mixing of types
681when (f2c extended) intrinsic functions are involved, as in
682(not(17) .and. 4). Catching this in the first executable statement
683is a bit tricky, as some checking must be postponed until all statement
684function declarations have been parsed. Thus there is a chance of
685today's changes introducing bugs under (let us hope) unusual conditions.
686
687Sun Mar 28 13:17:44 EST 1999
688 lex.c: tweak to get the file name right in error messages caused
689by statements just after a # nnn "filename" line emitted by the C
690preprocessor. (The trouble is that the line following the # nnn line
691must be read to see if it is a continuation of the stuff that preceded
692the # nnn line.) When # nnn "filename" lines appear among the lines
693for a Fortran statement, the filename reported in an error message for
694the statement should now be the file that was current when the first
695line of the statement was read.
696
697Sun May 2 22:38:25 EDT 1999
698 libf77, libi77, libf2c.zip: make getenv_() more portable (call
699getenv() rather than knowing about char **environ); adjust some
700complex intrinsics to work with overlapping arguments (caused by
8e2b8d13
CB
701inappropriate use of equivalence); open.c: get "external" versus
702"internal" right in the error message if a file cannot be opened;
703err.c: cast a pointer difference to (int) for %d; rdfmt.c: omit
704fixed-length buffer that could be overwritten by formats Inn or Lnn
705with nn > 83.
706
707Mon May 3 13:14:07 EDT 1999
708 "Invisible" changes to omit a few compiler warnings in f2c and
709libf2c; two new casts in libf2c/open.c that matter with 64-bit longs,
710and one more tweak (libf2c/c_log.c) for pathological equivalences.
711 Minor update to "fc" script: new -L flag and comment correction.
712
713Tue May 4 10:06:26 EDT 1999
ac02f312 714 libf77, libf2c.zip: forgot to copy yesterday's latest updates to
8e2b8d13 715netlib.
a152cad7 716
ac02f312
CB
717Fri 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
720in the libi77 bundle.)
721
245d977a
CB
722Sun Jun 27 22:05:47 EDT 1999
723 libf2c.zip, libi77: rsne.c: fix bug in namelist input: a misplaced
724increment could cause wrong array elements to be assigned; e.g.,
725"&input k(5)=10*1 &end" assigned k(5) and k(15 .. 23).
726
727
81fea2b1
JL
728Current timestamps of files in "all from f2c/src", sorted by time,
729appear below (mm/dd/year hh:mm:ss). To bring your source up to date,
730obtain source files with a timestamp later than the time shown in your
731version.c. Note that the time shown in the current version.c is the
732timestamp of the source module that immediately follows version.c below:
733
8e2b8d13
CB
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
a152cad7
CB
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
dbf18916 746 2/10/1999 17:43:01 defs.h
dbf18916
CB
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
fbc6d363 750 5/16/1998 16:55:49 output.c
a843efa0 751 4/03/1998 17:15:05 gram.c
a843efa0
CB
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
a843efa0 75512/04/1997 17:44:11 niceprintf.c
81fea2b1
JL
756 8/05/1997 10:31:26 malloc.c
757 7/24/1997 17:10:55 README
81fea2b1
JL
758 7/24/1997 16:06:19 Notice
759 7/21/1997 12:58:44 proc.c
81fea2b1 760 2/11/1997 23:39:14 vax.c
81fea2b1 76112/04/1996 13:07:53 gram.exec
81fea2b1 762 9/12/1996 12:12:46 equiv.c
81fea2b1 763 8/26/1996 9:41:13 sysdep.c
81fea2b1 764 7/09/1996 10:40:45 names.c
81fea2b1
JL
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
dbf18916 768 7/04/1996 9:55:40 parse_args.c
a152cad7 769 7/04/1996 9:55:36 mem.c
8e2b8d13 770 7/04/1996 9:55:36 memset.c
81fea2b1 771 7/04/1996 9:55:35 main.c
81fea2b1
JL
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
81fea2b1
JL
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
79011/27/1989 8:27:37 machdefs.h
791 7/01/1989 11:59:44 pccdefs.h
This page took 0.192064 seconds and 5 git commands to generate.