Mention KTR_IFQ and KTR_IF_START
[dragonfly.git] / contrib / gcc-3.4 / libf2c / libI77 / Version.c
1 const char __LIBI77_VERSION__[] = "@(#) LIBI77 VERSION pjw,dmg-mods 20001205\n";
2
3 /*
4 2.01    $ format added
5 2.02    Coding bug in open.c repaired
6 2.03    fixed bugs in lread.c (read * with negative f-format) and lio.c
7         and lio.h (e-format conforming to spec)
8 2.04    changed open.c and err.c (fopen and freopen respectively) to
9         update to new c-library (append mode)
10 2.05    added namelist capability
11 2.06    allow internal list and namelist I/O
12 */
13
14 /*
15 close.c:
16         allow upper-case STATUS= values
17 endfile.c
18         create fort.nnn if unit nnn not open;
19         else if (file length == 0) use creat() rather than copy;
20         use local copy() rather than forking /bin/cp;
21         rewind, fseek to clear buffer (for no reading past EOF)
22 err.c
23         use neither setbuf nor setvbuf; make stderr buffered
24 fio.h
25         #define _bufend
26 inquire.c
27         upper case responses;
28         omit byfile test from SEQUENTIAL=
29         answer "YES" to DIRECT= for unopened file (open to debate)
30 lio.c
31         flush stderr, stdout at end of each stmt
32         space before character strings in list output only at line start
33 lio.h
34         adjust LEW, LED consistent with old libI77
35 lread.c
36         use atof()
37         allow "nnn*," when reading complex constants
38 open.c
39         try opening for writing when open for read fails, with
40         special uwrt value (2) delaying creat() to first write;
41         set curunit so error messages don't drop core;
42         no file name ==> fort.nnn except for STATUS='SCRATCH'
43 rdfmt.c
44         use atof(); trust EOF == end-of-file (so don't read past
45         end-of-file after endfile stmt)
46 sfe.c
47         flush stderr, stdout at end of each stmt
48 wrtfmt.c:
49         use upper case
50         put wrt_E and wrt_F into wref.c, use sprintf()
51                 rather than ecvt() and fcvt() [more accurate on VAX]
52 */
53
54 /* 16 Oct. 1988: uwrt = 3 after write, rewind, so close won't zap the file. */
55
56 /* 10 July 1989: change _bufend to buf_end in fio.h, wsfe.c, wrtfmt.c */
57
58 /* 28 Nov. 1989: corrections for IEEE and Cray arithmetic */
59 /* 29 Nov. 1989: change various int return types to long for f2c */
60 /* 30 Nov. 1989: various types from f2c.h */
61 /*  6 Dec. 1989: types corrected various places */
62 /* 19 Dec. 1989: make iostat= work right for internal I/O */
63 /*  8 Jan. 1990: add rsne, wsne -- routines for handling NAMELIST */
64 /* 28 Jan. 1990: have NAMELIST read treat $ as &, general white
65                  space as blank */
66 /* 27 Mar. 1990: change an = to == in rd_L(rdfmt.c) so formatted reads
67                  of logical values reject letters other than fFtT;
68                  have nowwriting reset cf */
69 /* 14 Aug. 1990: adjust lread.c to treat tabs as spaces in list input */
70 /* 17 Aug. 1990: adjust open.c to recognize blank='Z...' as well as
71                  blank='z...' when reopening an open file */
72 /* 30 Aug. 1990: prevent embedded blanks in list output of complex values;
73                  omit exponent field in list output of values of
74                  magnitude between 10 and 1e8; prevent writing stdin
75                  and reading stdout or stderr; don't close stdin, stdout,
76                  or stderr when reopening units 5, 6, 0. */
77 /* 18 Sep. 1990: add component udev to unit and consider old == new file
78                  iff uinode and udev values agree; use stat rather than
79                  access to check existence of file (when STATUS='OLD')*/
80 /* 2 Oct. 1990:  adjust rewind.c so two successive rewinds after a write
81                  don't clobber the file. */
82 /* 9 Oct. 1990:  add #include "fcntl.h" to endfile.c, err.c, open.c;
83                  adjust g_char in util.c for segmented memories. */
84 /* 17 Oct. 1990: replace abort() and _cleanup() with calls on
85                  sig_die(...,1) (defined in main.c). */
86 /* 5 Nov. 1990:  changes to open.c: complain if new= is specified and the
87                  file already exists; allow file= to be omitted in open stmts
88                  and allow status='replace' (Fortran 90 extensions). */
89 /* 11 Dec. 1990: adjustments for POSIX. */
90 /* 15 Jan. 1991: tweak i_ungetc in rsli.c to allow reading from
91                  strings in read-only memory. */
92 /* 25 Apr. 1991: adjust namelist stuff to work with f2c -i2 */
93 /* 26 Apr. 1991: fix some bugs with NAMELIST read of multi-dim. arrays */
94 /* 16 May 1991:  increase LEFBL in lio.h to bypass NeXT bug */
95 /* 17 Oct. 1991: change type of length field in sequential unformatted
96                  records from int to long (for systems where sizeof(int)
97                  can vary, depending on the compiler or compiler options). */
98 /* 14 Nov. 1991: change uint to Uint in fmt.h, rdfmt.c, wrtfmt.c. */
99 /* 25 Nov. 1991: change uint to Uint in lwrite.c; change sizeof(int) to
100                  sizeof(uioint) in fseeks in sue.c (missed on 17 Oct.). */
101 /* 1 Dec. 1991:  uio.c: add test for read failure (seq. unformatted reads);
102                  adjust an error return from EOF to off end of record */
103 /* 12 Dec. 1991: rsli.c: fix bug with internal list input that caused
104                  the last character of each record to be ignored.
105                  iio.c: adjust error message in internal formatted
106                  input from "end-of-file" to "off end of record" if
107                  the format specifies more characters than the
108                  record contains. */
109 /* 17 Jan. 1992: lread.c, rsne.c: in list and namelist input,
110                  treat "r* ," and "r*," alike (where r is a
111                  positive integer constant), and fix a bug in
112                  handling null values following items with repeat
113                  counts (e.g., 2*1,,3); for namelist reading
114                  of a numeric array, allow a new name-value subsequence
115                  to terminate the current one (as though the current
116                  one ended with the right number of null values).
117                  lio.h, lwrite.c: omit insignificant zeros in
118                  list and namelist output. To get the old
119                  behavior, compile with -DOld_list_output . */
120 /* 18 Jan. 1992: make list output consistent with F format by
121                  printing .1 rather than 0.1 (introduced yesterday). */
122 /* 3 Feb. 1992:  rsne.c: fix namelist read bug that caused the
123                  character following a comma to be ignored. */
124 /* 19 May 1992:  adjust iio.c, ilnw.c, rdfmt.c and rsli.c to make err=
125                  work with internal list and formatted I/O. */
126 /* 18 July 1992: adjust rsne.c to allow namelist input to stop at
127                  an & (e.g. &end). */
128 /* 23 July 1992: switch to ANSI prototypes unless KR_headers is #defined ;
129                  recognize Z format (assuming 8-bit bytes). */
130 /* 14 Aug. 1992: tweak wrt_E in wref.c to avoid -NaN */
131 /* 23 Oct. 1992: Supply missing l_eof = 0 assignment to s_rsne() in rsne.c
132                  (so end-of-file on other files won't confuse namelist
133                  reads of external files).  Prepend f__ to external
134                  names that are only of internal interest to lib[FI]77. */
135 /* 1 Feb. 1993:  backspace.c: fix bug that bit when last char of 2nd
136                  buffer == '\n'.
137                  endfile.c: guard against tiny L_tmpnam; close and reopen
138                  files in t_runc().
139                  lio.h: lengthen LINTW (buffer size in lwrite.c).
140                  err.c, open.c: more prepending of f__ (to [rw]_mode). */
141 /* 5 Feb. 1993:  tweaks to NAMELIST: rsne.c: ? prints the namelist being
142                  sought; namelists of the wrong name are skipped (after
143                  an error message; xwsne.c: namelist writes have a
144                  newline before each new variable.
145                  open.c: ACCESS='APPEND' positions sequential files
146                  at EOF (nonstandard extension -- that doesn't require
147                  changing data structures). */
148 /* 9 Feb. 1993:  Change some #ifdef MSDOS lines to #ifdef NON_UNIX_STDIO.
149                  err.c: under NON_UNIX_STDIO, avoid close(creat(name,0666))
150                  when the unit has another file descriptor for name. */
151 /* 4 March 1993: err.c, open.c: take declaration of fdopen from rawio.h;
152                  open.c: always give f__w_mode[] 4 elements for use
153                  in t_runc (in endfile.c -- for change of 1 Feb. 1993). */
154 /* 6 March 1993: uio.c: adjust off-end-of-record test for sequential
155                  unformatted reads to respond to err= rather than end=. */
156 /* 12 March 1993: various tweaks for C++ */
157 /* 6 April 1993: adjust error returns for formatted inputs to flush
158                  the current input line when err=label is specified.
159                  To restore the old behavior (input left mid-line),
160                  either adjust the #definition of errfl in fio.h or
161                  omit the invocation of f__doend in err__fl (in err.c). */
162 /* 23 June 1993: iio.c: fix bug in format reversions for internal writes. */
163 /* 5 Aug. 1993:  lread.c: fix bug in handling repetition counts for
164                  logical data (during list or namelist input).
165                  Change struct f__syl to struct syl (for buggy compilers). */
166 /* 7 Aug. 1993:  lread.c: fix bug in namelist reading of incomplete
167                  logical arrays. */
168 /* 9 Aug. 1993:  lread.c: fix bug in namelist reading of an incomplete
169                  array of numeric data followed by another namelist
170                  item whose name starts with 'd', 'D', 'e', or 'E'. */
171 /* 8 Sept. 1993: open.c: protect #include "sys/..." with
172                  #ifndef NON_UNIX_STDIO; Version date not changed. */
173 /* 10 Nov. 1993: backspace.c: add nonsense for #ifdef MSDOS */
174 /* 8 Dec. 1993:  iio.c: adjust internal formatted reads to treat
175                  short records as though padded with blanks
176                  (rather than causing an "off end of record" error). */
177 /* 22 Feb. 1994: lread.c: check that realloc did not return NULL. */
178 /* 6 June 1994:  Under NON_UNIX_STDIO, use binary mode for direct
179                  formatted files (avoiding any confusion regarding \n). */
180 /* 5 July 1994:  Fix bug (introduced 6 June 1994?) in reopening files
181                  under NON_UNIX_STDIO. */
182 /* 6 July 1994:  wref.c: protect with #ifdef GOOD_SPRINTF_EXPONENT an
183                  optimization that requires exponents to have 2 digits
184                  when 2 digits suffice.
185                  lwrite.c wsfe.c (list and formatted external output):
186                  omit ' ' carriage-control when compiled with
187                  -DOMIT_BLANK_CC .  Off-by-one bug fixed in character
188                  count for list output of character strings.
189                  Omit '.' in list-directed printing of Nan, Infinity. */
190 /* 12 July 1994: wrtfmt.c: under G11.4, write 0. as "  .0000    " rather
191                  than "  .0000E+00". */
192 /* 3 Aug. 1994:  lwrite.c: do not insert a newline when appending an
193                  oversize item to an empty line. */
194 /* 12 Aug. 1994: rsli.c rsne.c: fix glitch (reset nml_read) that kept
195                  ERR= (in list- or format-directed input) from working
196                  after a NAMELIST READ. */
197 /* 7 Sept. 1994: typesize.c: adjust to allow types LOGICAL*1, LOGICAL*2,
198                  INTEGER*1, and (under -DAllow_TYQUAD) INTEGER*8
199                  in NAMELISTs. */
200 /* 6 Oct. 1994:  util.c: omit f__mvgbt, as it is never used. */
201 /* 2 Nov. 1994:  add #ifdef ALWAYS_FLUSH logic. */
202 /* 26 Jan. 1995: wref.c: fix glitch in printing the exponent of 0 when
203                  GOOD_SPRINTF_EXPONENT is not #defined. */
204 /* 24 Feb. 1995: iio.c: z_getc: insert (unsigned char *) to allow
205                  internal reading of characters with high-bit set
206                  (on machines that sign-extend characters). */
207 /* 14 March 1995:lread.c and rsfe.c: adjust s_rsle and s_rsfe to
208                  check for end-of-file (to prevent infinite loops
209                  with empty read statements). */
210 /* 26 May 1995:  iio.c: z_wnew: fix bug in handling T format items
211                  in internal writes whose last item is written to
212                  an earlier position than some previous item. */
213 /* 29 Aug. 1995: backspace.c: adjust MSDOS logic. */
214 /* 6 Sept. 1995: Adjust namelist input to treat a subscripted name
215                  whose subscripts do not involve colons similarly
216                  to the name without a subscript: accept several
217                  values, stored in successive elements starting at
218                  the indicated subscript.  Adjust namelist output
219                  to quote character strings (avoiding confusion with
220                  arrays of character strings).  Adjust f_init calls
221                  for people who don't use libF77's main(); now open and
222                  namelist read statements invoke f_init if needed. */
223 /* 7 Sept. 1995: Fix some bugs with -DAllow_TYQUAD (for integer*8).
224                  Add -DNo_Namelist_Comments lines to rsne.c. */
225 /* 5 Oct. 1995:  wrtfmt.c: fix bug with t editing (f__cursor was not
226                  always zeroed in mv_cur). */
227 /* 11 Oct. 1995: move defs of f__hiwater, f__svic, f__icptr from wrtfmt.c
228                  to err.c */
229 /* 15 Mar. 1996: lread.c, rsfe.c: honor END= in READ stmt with empty iolist */
230
231 /* 13 May 1996:  add ftell_.c and fseek_.c */
232 /* 9 June 1996:  Adjust rsli.c and lread.c so internal list input with
233                  too few items in the input string will honor end= . */
234 /* 12 Sept. 1995:fmtlib.c: fix glitch in printing the most negative integer. */
235 /* 25 Sept. 1995:fmt.h: for formatted writes of negative integer*1 values,
236                  make ic signed on ANSI systems.  If formatted writes of
237                  integer*1 values trouble you when using a K&R C compiler,
238                  switch to an ANSI compiler or use a compiler flag that
239                  makes characters signed. */
240 /* 9 Dec. 1996:  d[fu]e.c, err.c: complain about non-positive rec=
241                  in direct read and write statements.
242                  ftell_.c: change param "unit" to "Unit" for -DKR_headers. */
243 /* 26 Feb. 1997: ftell_.c: on systems that define SEEK_SET, etc., use
244                  SEEK_SET, SEEK_CUR, SEEK_END for *whence = 0, 1, 2. */
245 /* 7 Apr. 1997:  fmt.c: adjust to complain at missing numbers in formats
246                  (but still treat missing ".nnn" as ".0"). */
247 /* 11 Apr. 1997: err.c: attempt to make stderr line buffered rather
248                  than fully buffered.  (Buffering is needed for format
249                  items T and TR.) */
250 /* 27 May 1997:  ftell_.c: fix typo (that caused the third argument to be
251                  treated as 2 on some systems). */
252 /* 5 Aug. 1997:  lread.c: adjust to accord with a change to the Fortran 8X
253                  draft (in 1990 or 1991) that rescinded permission to elide
254                  quote marks in namelist input of character data; compile
255                  with -DF8X_NML_ELIDE_QUOTES to get the old behavior.
256                  wrtfmt.o: wrt_G: tweak to print the right number of 0's
257                  for zero under G format. */
258 /* 16 Aug. 1997: iio.c: fix bug in internal writes to an array of character
259                  strings that sometimes caused one more array element than
260                  required by the format to be blank-filled.  Example:
261                  format(1x). */
262 /* 16 Sept. 1997:fmt.[ch] rdfmt.c wrtfmt.c: tweak struct syl for machines
263                  with 64-bit pointers and 32-bit ints that did not 64-bit
264                  align struct syl (e.g., Linux on the DEC Alpha). */
265 /* 19 Jan. 1998: backspace.c: for b->ufmt==0, change sizeof(int) to
266                  sizeof(uiolen).  On machines where this would make a
267                  difference, it is best for portability to compile libI77 with
268                  -DUIOLEN_int (which will render the change invisible). */
269 /* 4 March 1998: open.c: fix glitch in comparing file names under
270                 -DNON_UNIX_STDIO */
271 /* 17 March 1998: endfile.c, open.c: acquire temporary files from tmpfile(),
272                  unless compiled with -DNON_ANSI_STDIO, which uses mktemp().
273                  New buffering scheme independent of NON_UNIX_STDIO for
274                  handling T format items.  Now -DNON_UNIX_STDIO is no
275                  longer be necessary for Linux, and libf2c no longer
276                  causes stderr to be buffered -- the former setbuf or
277                  setvbuf call for stderr was to make T format items work.
278                  open.c: use the Posix access() function to check existence
279                  or nonexistence of files, except under -DNON_POSIX_STDIO,
280                  where trial fopen calls are used. */
281 /* 5 April 1998: wsfe.c: make $ format item work: this was lost in the
282                  changes of 17 March 1998. */
283 /* 28 May 1998:  backspace.c dfe.c due.c iio.c lread.c rsfe.c sue.c wsfe.c:
284                  set f__curunit sooner so various error messages will
285                  correctly identify the I/O unit involved. */
286 /* 17 June 1998: lread.c: unless compiled with
287                  ALLOW_FLOAT_IN_INTEGER_LIST_INPUT #defined, treat
288                  floating-point numbers (containing either a decimal point
289                  or an exponent field) as errors when they appear as list
290                  input for integer data. */
291 /* 7 Sept. 1998: move e_wdfe from sfe.c to dfe.c, where it was originally.
292                  Why did it ever move to sfe.c? */
293 /* 2 May 1999:   open.c: set f__external (to get "external" versus "internal"
294                  right in the error message if we cannot open the file).
295                  err.c: cast a pointer difference to (int) for %d.
296                  rdfmt.c: omit fixed-length buffer that could be overwritten
297                  by formats Inn or Lnn with nn > 83. */
298 /* 3 May 1999:  open.c: insert two casts for machines with 64-bit longs. */
299 /* 18 June 1999: backspace.c: allow for b->ufd changing in t_runc */
300 /* 27 June 1999: rsne.c: fix bug in namelist input: a misplaced increment */
301 /*               could cause wrong array elements to be assigned; e.g., */
302 /*               "&input k(5)=10*1 &end" assigned k(5) and k(15..23)    */
303 /* 15 Nov. 1999: endfile.c: set state to writing (b->uwrt = 1) when an */
304 /*              endfile statement requires copying the file. */
305 /*              (Otherwise an immediately following rewind statement */
306 /*              could make the file appear empty.)  Also, supply a */
307 /*              missing (long) cast in the sprintf call. */
308 /*               sfe.c: add #ifdef ALWAYS_FLUSH logic, for formatted I/O: */
309 /*              Compiling libf2c with -DALWAYS_FLUSH should prevent losing */
310 /*              any data in buffers should the program fault.  It also */
311 /*              makes the program run more slowly. */
312 /* 20 April 2000: rsne.c, xwsne.c: tweaks that only matter if ftnint and */
313 /*              ftnlen are of different fundamental types (different numbers */
314 /*              of bits).  Since these files will not compile when this */
315 /*              change matters, the above VERSION string remains unchanged. */
316 /* 4 July 2000: adjustments to permit compilation by C++ compilers; */
317 /*              VERSION string remains unchanged. NOT APPLIED FOR G77 */
318 /* 5 Dec. 2000: lread.c: under namelist input, when reading a logical array, */
319 /*              treat Tstuff= and Fstuff= as new assignments rather than as */
320 /*              logical constants. */
321
322 /* Changes for GNU Fortran (g77) version of libf2c:  */
323
324 /* 17 June 1997: detect recursive I/O and call f__fatal explaining it. */