OSDN Git Service

* check.c (gfc_check_ttynam_sub, gfc_check_isatty): Add check
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
1 2005-08-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
2         * Makefile.am: Add file intrinsics/tty.c to Makefile process.
3         * Makefile.in: Regenerate.
4         * io/io.h: Prototypes for new functions stream_isatty and
5         stream_ttyname.
6         * io/unix (stream_isatty, stream_ttyname): New functions to call
7         isatty() and ttyname() on a given unit.
8         * intrinsics/tty.c: New file to implement g77 intrinsics TTYNAM
9         and ISATTY.
10
11 2005-08-08  Jerry DeLisle  <jvdelisle@verizon.net>
12
13         PR libfortran/23154
14         * io/transfer.c (data_transfer_init): Initialize
15         current_unit->bytes_left for a read.
16
17 2005-08-07  Janne Blomqvist  <jblomqvi@cc.hut.fi>
18
19         PR fortran/22390
20         * io/backspace.c: File removed, contents moved to ...
21         * io/endfile.c: Ditto.
22         * io/rewind.c: Ditto.
23         * io/file_pos.c: New file, ... here.
24         * Makefile.am: Add file_pos.c to list, remove obsolete files.
25         * Makefile.in: Regenerated.
26
27 2005-08-07  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
28
29         * io/io.h: Change DEFAULT_TEMPDIR to /tmp instead of /var/tmp.
30         * io/unix.c (tempfile): Look at the TEMP environment variable
31         to find the temporary files directory. Whitespace correction.
32
33 2005-08-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
34
35         * io/unix.c: Add O_RDWR to open() call.
36
37 2005-08-04 Paul Thomas  <pault@gcc.gnu.org>
38
39         * transfer.c (data_transfer_init): Truncate file in
40         sequential WRITE when last_record == 0, rather than
41         current_record.  Cures problem on RH9.
42
43 2005-08-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
44
45         * libgfortran.h: When isfinite is not provided by the system,
46         define it as a macro, so that it can accept any floating point
47         type.
48
49 2005-08-01  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
50
51         PR libfortran/23178
52         * intrinsics/flush.c (flush_i8): Add function flush_i8. Update
53         copyright years.
54
55 2005-07-31  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
56
57         PR libfortran/21787
58         * intrinsics/abort.c (abort): Close units before aborting.
59         Updated copyright years.
60
61 2005-07-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
62
63         PR libfortran/22436
64         * io/write.c (write_real): Add default formats for real(10) and
65         real(16).
66
67 2005-07-30 Paul Thomas  <pault@gcc.gnu.org>
68
69         PR fortran/22570 and related issues.
70         * transfer.c (formatted_transfer): Make sure that there
71         really is data present before X- or T- editing. Move all
72         treatment of tabbing during writes to start of next data
73         producing format. Suppress incorrect zeroing of bytes_left
74         in slash formating. Insert int cast for assignment of a
75         difference of two gfc_offsets.
76
77 2005-07-23  Jerry DeLisle  <jvdelisle@verizon.net>
78
79         * io/write.c (write_float): Revise output of IEEE exceptional
80         values to comply with F95 and F2003 standards.
81
82 2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
83
84         PR libfortran/22570
85         * io/unit.c (init_units): Replace BLANK_ZERO with
86         BLANK_UNSPECIFIED.
87
88 2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
89
90         PR libfortran/21875  (FM111.f)
91         * io/read.c (next_char): Return a ' ' character when BLANK_ZERO
92         or BLANK_NULL are active.
93         (read_decimal): Interpret ' ' character correctly for BZ or BN.
94         (read_radix): Interpret ' ' character correctly for BZ or BN.
95         (read_f): Interpret ' ' character correctly for BZ or BN.
96
97 2005-07-22 Paul Thomas  <pault@gcc.gnu.org>
98
99         PR libfortran/22570
100         * read.c (read_x): Correct the condition for doing the
101         x-editing during formatted input.
102         * transfer.c (formatted_transfer): Cast offset difference
103         as int, clean-up arithmetic with new variable, bytes_used,
104         zero counters for FMT_SLASH, 
105         (data_transfer_init) Zero X- and T-editing counters
106         unconditionally.
107         (next_record_w) Zero X- and T-editing counters.
108         unconditionally.
109
110 2005-07-17  Jerry DeLisle  <jvdelisle@verizon.net>
111
112         * io/write.c (write_float): Fix field width checks for
113         printing 'Infinity' or 'Inf'.
114         (output_float): Fix typo in comment.
115
116 2005-07-12 Paul Thomas  <pault@gcc.gnu.org>
117
118         PR libfortran/16435
119         * transfer.c (formatted_transfer): Correct the problems
120         with X- and T-editting that caused TLs followed by TRs
121         to overwrite data, which caused NIST FM908.FOR to fail
122         on many tests.
123         (data_transfer_init): Zero X- and T-editting counters at
124         the start of formatted IO.
125         * write.c (write_x): Write specified number of skips with
126         specified number of spaces at the end.
127
128 2005-07-13 Paul Thomas  <pault@gcc.gnu.org>
129
130         * io/read.c (read_complex): Prevent X formatting during reads
131         from going beyond EOR to fix NIST fm908.FOR failure.
132         * io/list_read.c (read_complex): Allow complex data in list-
133         directed reads to have eols either side of the comma to
134         fix NIST FM906.FOR failure.
135
136 2005-07-12  Thomas Koenig  <Thomas.Koenig@online.de>
137
138         PR libfortran/21593
139         * io/unix.c:  Add member special_file to type unix_stream.
140         (fd_truncate):  Don't call ftruncate or chsize if
141         s refers to a special file.
142         (fd_to_stream):  initialize s->special_file.
143
144 2005-07-11  David Edelsohn  <edelsohn@gnu.org>
145
146         PR libgfortran/22412
147         * io/write.c (otoa): Bias p by SCRATCH_SIZE, not
148         sizeof (SCRATCH_SIZE).
149         (btoa): Same.
150
151 2005-07-09  Jerry DeLisle  <jvdelisle@verizon.net>
152
153         PR libfortran/21875  (FM111.f)
154         * io/read.c (next_char): Return a ' ' character when BLANK_ZERO or 
155         BLANK_NULL are active.
156         (read_decimal): Interpret ' ' character correctly for BZ or BN.
157         (read_radix): Interpret ' ' character correctly for BZ or BN.
158         (read_f): Interpret ' ' character correctly for BZ or BN.
159         * gfortran.dg/test (fmt_read_bz_bn.f90): New test case.
160
161 2005-07-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
162             Thomas Koenig  <Thomas.Koenig@online.de>
163
164         PR libfortran/22217
165         * io/write.c (extract_unit):  New function; extract
166         ints as unsigned signed int of the correct size.
167         (write_int):  Use it.
168         * runtime/error.c:  Adjust copyright years.
169         Adjust size of buffer to maximum that can occur.
170
171 2005-07-07  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
172
173         * libgfortran.h (GFC_ARRAY_DESCRIPTOR): Replace 'type *base' by
174         'size_t offset'.
175         * intrinsics/cshift0.c, intrinsics/eoshift0.c,
176         intrinsics/eoshift2.c,intrinsics/pack_generic.c,
177         intrinsics/reshape_generic.c, intrinsics/spread_generic.c,
178         intrinsics/transpose_generic.c, intrinsics/unpack_generic,
179         m4/cshift1.m4, m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4,
180         m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/reshape.m4,
181         m4,transpose.m4: Set renamed field 'offset' to zero instead of
182         'base'.
183         * generated/all_l4.c, generated/all_l8.c,
184         generated/any_l4.c, generated/any_l8.c, generated/count_4_l4.c,
185         generated/count_4_l8.c, generated/count_8_l4.c,
186         generated/count_8_l8.c, generated/chift1_4.c,
187         generated/cshift1_8.c, generated/eoshift1_4.c,
188         generated/eoshift1_8.c, generated/eoshift3_4.c,
189         generated/eoshift3_8.c, generated/matmul_c4.c,
190         generated/matmul_c8.c, generated/matmul_i4.c, matmul_i8.c,
191         generated/matmul_l4.c, generated/matmul_l8.c,
192         generated/matmul_r4.c, generated/matmul_r8.c,
193         generated/maxloc0_4_i4.c, generated/maxloc0_4_i8.c,
194         generated/maxloc0_4_r4.c, generated/maxloc0_4_r8.c,
195         generated/maxloc0_8_i4.c, generated/maxloc0_8_i8.c,
196         generated/maxloc0_8_r4.c, generated/maxloc0_8_r8.c,
197         generated/maxloc1_4_i4.c, generated/maxloc1_4_i8.c,
198         generated/maxloc1_4_r4.c, generated/maxloc1_4_r8.c,
199         generated/maxloc1_8_i4.c, generated/maxloc1_8_i8.c,
200         generated/maxloc1_8_r4.c, generated/maxloc1_8_r8.c,
201         generated/maxval_i4.c, generated/maxval_i8.c,
202         generated/maxval_r4.c, generated/maxval_r8.c,
203         generated/minloc0_4_i4.c, generated/minloc0_4_i8.c,
204         generated/minloc0_4_r4.c, generated/minloc0_4_r8.c,
205         generated/minloc0_8_i4.c, generated/minloc0_8_i8.c,
206         generated/minloc0_8_r4.c, generated/minloc0_8_r8.c,
207         generated/minloc1_4_i4.c, generated/minloc1_4_i8.c,
208         generated/minloc1_4_r4.c, generated/minloc1_4_r8.c,
209         generated/minloc1_8_i4.c, generated/minloc1_8_i8.c,
210         generated/minloc1_8_r4.c, generated/minloc1_8_r8.c,
211         generated/minval_i4.c, generated/minval_i8.c,
212         generated/minval_r4.c, generated/minval_r8.c,
213         generated/product_c4.c, generated/product_c8.c,
214         generated/product_i4.c, generated/product_i8.c,
215         generated/product_r4.c, generated/product_r8.c,
216         generated/reshape_c4.c, generated/reshape_c8.c,
217         generated/reshape_i4.c, generated/reshape_i8.c,
218         generated/sum_c4.c, generated/sum_c8.c, generated/sum_i4.c,
219         generated/sum_i8.c, generated/sum_r4.c, generated/sum_r8.c,
220         generated/transpose_c4.c, generated/transpose_c8.c,
221         generated/transpose_i4.c, generated/transpose_i8.c: Regenerate:
222
223 2005-07-07  Thomas Koenig  <Thomas.Koenig@online.de>
224
225         PR libfortran/21594
226         * intrinsics/eoshift0.c:  If abs(shift) > len, fill the
227         the whole array with the boundary value, but don't overrun it.
228         * intrinsics/eoshift2.c:  Likewise.
229         * m4/eoshift1.m4:  Likewise.
230         * m4/eoshift3.m4:  Likewise.
231         * generated/eoshift1_4.c:  Regenerated.
232         * generated/eoshift1_8.c:  Regenerated.
233         * generated/eoshift3_4.c:  Regenerated.
234         * generated/eoshift3_8.c:  Regenerated.
235
236 2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>
237
238         PR fortran/16531
239         * io/transfer.c (formatted_transfer): Enable FMT_A on other types to
240         support Hollerith constants.
241
242 2005-07-01  Andreas Jaeger  <aj@suse.de>
243
244         * intrinsics/unpack_generic.c: Remove const from parameter.
245
246         * io/transfer.c (formatted_transfer): Remove unused variable.
247
248 2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>
249
250         PR libfortran/22142
251         * m4/eoshift1.m4:  Correct bstride (it needs to be multiplied
252         by size since it's a char pointer).
253         * m4/eoshift1_4.c:  Regenerated.
254         * m4/eoshift1_8.c:  Regenerated.
255
256 2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>
257
258         PR libfortran/22142
259         * m4/eoshift3.m4:  Correct bstride (it needs to be multiplied
260         by size since it's a char pointer).
261         * m4/eoshift3_4.c:  Regenerated.
262         * m4/eoshift3_8.c:  Regenerated.
263
264 2005-06-28  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
265
266         PR libfortran/22170
267         * io/transfer.c (formatted_transfer): Do not iterate on the
268         repeat count of a FMT_SLASH, since this is already done in
269         next_format().
270
271 2005-06-25  Thomas Koenig  <Thomas.Koenig@online.de>
272
273         PR libfortran/22144
274         * m4/cshift1.m4: Remove const from argument ret.
275         Populate return array descriptor if ret->data is NULL.
276         * m4/eoshift1.m4: Likewise.
277         * m4/eoshift3.m4: Likewise.
278         * generated/cshift1_4.c:  Regenerated.
279         * generated/cshift1_8.c:  Regenerated.
280         * generated/eoshift1_4.c:  Regenerated.
281         * generated/eoshift1_8.c:  Regenerated.
282         * generated/eoshift3_4.c:  Regenerated.
283         * generated/eoshift3_8.c:  Regenerated.
284
285 2005-06-24  Jerry DeLisle <jvdelisle@verizon.net>
286
287         PR libfortran/21915
288         * Makefile.am: Include intrinsics/hyper.c.
289         * c99_protos.h: Add prototypes for single precision versions of
290         acosh, asinh, and atanh for platforms that do not have these.
291         * config.h.in: Add #undef for wrappers.
292         * configure.ac: Add checks for single precision versions.
293         * aclocal.m4: Regenerated.
294         * Makefile.in: Regenerated.
295         * configure: Regenerated.
296         * intrinsics/hyper.c: New file, adds new wrapper functions.
297
298 2005-06-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
299
300         * intrinsics/c99_functions.c (log10l): New log10l function for
301         systems where this is not available.
302         * c99_protos.h: Prototype for log10l function.
303         * libgfortran.h: Use generated kinds.h to define GFC_INTEGER_*,
304         GFC_UINTEGER_*, GFC_LOGICAL_*, GFC_REAL_*, GFC_COMPLEX_*. Update
305         prototypes for gfc_itoa and xtoa.
306         * io/io.h: Update prototypes for set_integer and max_value.
307         * io/list_read.c (convert_integer): Use new
308         GFC_(INTEGER|REAL)_LARGEST type.
309         * io/read.c (set_integer): Likewise.
310         (max_value): Likewise.
311         (convert_real): Likewise.
312         (real_l): Likewise.
313         (next_char): Likewise.
314         (read_decimal): Likewise.
315         (read_radix): Likewise.
316         (read_f): Likewise.
317         * io/write.c (extract_int): Use new GFC_INTEGER_LARGEST type.
318         (extract_real): Use new GFC_REAL_LARGEST type.
319         (calculate_exp): Likewise.
320         (calculate_G_format): Likewise.
321         (output_float): Likewise. Use log10l for long double values.
322         Add comment for sprintf format. Use GFC_REAL_LARGEST_FORMAT.
323         (write_l): Use new GFC_INTEGER_LARGEST type.
324         (write_float): Use new GFC_REAL_LARGEST type.
325         (write_int): Remove useless special case for (len < 8).
326         (write_decimal): Use GFC_INTEGER_LARGEST.
327         (otoa): Use GFC_UINTEGER_LARGEST as argument.
328         (btoa): Use GFC_UINTEGER_LARGEST as argument.
329         * runtime/error.c (gfc_itoa): Use GFC_INTEGER_LARGEST as
330         argument.
331         (xtoa): Use GFC_UINTEGER_LARGEST as argument.
332         * Makefile.am: Use mk-kinds-h.sh to generate header kinds.h
333         with all Fortran kinds available.
334         * configure.ac: Check for strtold and log10l.
335         * Makefile.in: Regenerate.
336         * aclocal.m4: Regenerate.
337         * configure: Regenerate.
338         * config.h.in: Regenerate.
339         * mk-kinds-h.sh: Configuration script for available integer
340         and real kinds.
341
342
343 2005-06-18  Janne Blomqvist  <jblomqvi@cc.hut.fi>
344
345         * unix.c (stream_at_bof): Don't assume that all non-mmapped files
346         are non-seekable.
347         (stream_at_eof): Likewise.
348
349 2005-06-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
350
351         PR libfortran/19155
352         * io/read.c (convert_real): strtod can set errno to EINVAL on an
353         empty string, but we shouldn't have an error in that case.
354
355 2005-06-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
356
357         PR libfortran/19216
358         * io/list_read.c (eat_separator): No need to call next_record,
359         even in non-namelist_mode.
360
361 2005-06-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
362
363         * io/transfer.c (formatted_transfer): Fix typo in error message.
364
365 2005-06-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
366
367         PR libfortran/16436
368         * io/transfer.c (read_sf): Correct updating of bytes_left field.
369         (formatted_transfer): Correct updating of bytes_left field and
370         reformatting code (comments and whitespace).
371         * io/unix.c (move_pos_offset): "active" field should not be
372         changed here. Whitespace corrections.
373
374 2005-06-15  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
375
376         PR libfortran/21950
377         * intrinsics/c99_functions.c (scalbn): Provide fallback
378         implementation for scalbn.
379         * c99_protos.h: Prototype for scalbn.
380         * configure.ac: Add check for scalbn.
381         * configure: Regenerate.
382         * config.h.in: Regenerate.
383
384 2005-06-14  Thomas Koenig  <Thomas.Koenig@online.de>
385
386         * intrinsics/eoshift0.c:  Removed prototype for eoshift0.
387         * intrinsics/eoshift2.c:  Removed prototype for eoshift2.
388
389 2005-06-14  Tom Tromey  <tromey@redhat.com>
390
391         PR libgcj/19877:
392         * configure, aclocal.m4, Makefile.in: Rebuilt.
393
394 2005-06-12  Thomas Koenig  <Thomas.Koenig@online.de>
395
396         PR libfortran/21594
397         * intrinsics/eoshift0.c:  Add prototype for eoshift0.
398         * intrinsics/eoshift2.c:  Add prototype for eoshift2.
399
400 2005-06-12  Steven G. Kargl <kargls@comcast.net>
401             Thomas Koenig  <Thomas.Koenig@online.de>
402
403         PR libfortran/PR21797
404         * m4/cexp.m4 (csqrt`'q):  Add type qualifyer to
405         sqrt and fabs.
406         * generated/exp_c4.c:  Regenerated.
407
408 2005-06-12  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
409
410         PR libfortran/19155
411         * io/read.c (read_f): Take care of spaces after initial sign.
412
413 2005-06-11  Thomas Koenig  <Thomas.Koenig@onlinde.de>
414
415         PR libfortran/21333
416         * Makefile.am: Add in_pack_c4.c, in_pack_c8.c, in_unpack_c4.c
417         and in_unpack_c8.c.
418         * Makefile.in: Regenerate.
419         * libgfortran.h:  Declare internal_pack_c4, internal_pack_c8,
420         internal_unpack_c4 and internal_unpack_c8.
421         * m4/in_pack.m4: Use rtype_ccode insteald of rtype_kind
422         in function name.
423         Use sizeof (rtype_name) as size for memory allocation.
424         * m4/in_unpack.m4: Use rtype_ccode insteald of rtype_kind
425         in function name.
426         Use sizeof (rtype_name) for calculation of sizes for memcpy.
427         * runtime/in_pack_generic.c:  For real, integer and logical
428         call internal_pack_4 if size==4 and internal_pack_8 if
429         size==8.
430         For complex, call internal_pack_c4 if size==8 and
431         internal_pack_c8 if size==16.
432         * runtime/in_unpack_generic.c: For real, integer and logical
433         call internal_unpack_4 if size==4 and internal_unpack_8 if
434         size==8.
435         For complex, call internal_unpack_c4 if size==8 and
436         internal_unpack_c8 if size==16.
437         * generated/in_pack_i4.c:  Regenerated.
438         * generated/in_pack_i8.c:  Regenerated.
439         * generated/in_unpack_i4.c:  Regenerated.
440         * generated/in_unpack_i8.c:  Regenerated.
441         * generated/in_pack_c4.c:  New file.
442         * generated/in_pack_c8.c:  New file.
443         * generated/in_unpack_c4.c:  New file.
444         * generated/in_unpack_c8.c:  New file.
445
446 2005-06-09  Thomas Koenig  <Thomas.Koenig@online.de>
447
448         PR libfortran/21480
449         * m4/reshape.m4:  Use sizeof (rtype_name) for sizes to be passed
450         to reshape_packed.
451         * generated/reshape_c4.c:  Regenerated.
452         * generated/reshape_c8.c:  Regenerated.
453         * generated/reshape_i4.c:  Regenerated.
454         * generated/reshape_i8.c:  Regenerated.
455
456 2005-06-07  Thomas Koenig  <Thomas.Koenig@online.de>
457
458         PR libfortran/21926
459         * m4/matmul.m4:  Correct zeroing of result for non-packed
460         arrays with lowest stride is one.
461         * generated/matmul_c4.c:  Regenerated.
462         * generated/matmul_c8.c:  Regenerated.
463         * generated/matmul_i4.c:  Regenerated.
464         * generated/matmul_i8.c:  Regenerated.
465         * generated/matmul_r4.c:  Regenerated.
466         * generated/matmul_r8.c:  Regenerated.
467
468 2005-05-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
469
470         PR libfortran/20179
471         * io/unix.c (fd_close): Add test so that we don't close()
472         stdout and stderr.
473
474 2005-05-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
475
476         PR libfortran/20006
477         * io/format.c (parse_format_list): Set repeat count of $ format
478         node to 1.
479         * io/transfer.c (read_sf): Add g.seen_dollar to the test
480         concerning advancing I/O.
481         (data_transfer_init): Likewise.
482         (finalize_transfer): Likewise.
483
484 2005-05-27  Thomas Koenig  <Thomas.Koenig@online.de>
485
486         * runtime/in_pack_generic.c:  Adjust copyright years.
487         (in_pack_generic):  Change dimension of auxiliary arrays from
488         GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
489         * runtime/in_unpack_generic.c:  Adjust copyright years.
490         (in_unpack_generic):  Change dimension of auxiliary arrays from
491         GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
492
493 2005-05-26  Thomas Koenig  <Thomas.Koenig@online.de>
494
495         PR libfortran/17283
496         * intrinsics/unpack_generic.c:  Fix name of routine
497         on top.  Update copyright years.
498         (unpack1):  Remove const from return array descriptor.
499         rs:  New variable, for calculating return sizes.
500         Populate return array descriptor if ret->data is NULL.
501
502 2005-05-22  Peter Wainwright  <prw@ceiriog1.demon.co.uk>
503
504         PR libfortran/21376
505         * io/write.c (output_float): Rework logic to avoid call to log10
506         with argument equal to zero.
507
508 2005-05-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
509
510         * configure.ac: Check for trunc and truncf in libm.
511         * configure: Regenerate.
512         * config.h.in: Likewise.
513         * intrinsics/c99_functions.c (trunc, truncf): New functions.
514         * c99_protos.h (trunc, truncf): Declare them.
515
516 2005-05-18  Thomas Koenig  <Thomas.Koenig@online.de>
517
518         PR libfortran/21127
519         * Makefile.am:  Really commit.
520         * Makefile.in:  Really commit.
521
522 2005-05-18  Thomas Koenig  <Thomas.Koenig@online.de>
523
524         PR libfortran/21127
525         * Makefile.am:  Add generated/reshape_c4.c and
526         generated/reshape_c8.c.
527         * Makefile.in:  Regenerated.
528         * m4/iparm.m4:  Define rtype_ccode to be c4 or c8 for
529         complex types, 4 or 8 otherwise.
530         * m4/reshape.m4:  Use rtype_ccode instead of rtype_kind
531         in function name.
532         * generated/reshape_c4.c: New file.
533         * generated/reshape_c8.c: New file.
534
535 2005-05-16  Andreas Jaeger  <aj@suse.de>
536
537         * configure.ac: Add additional warning flags.
538         * configure: Regenerate.
539
540         * io/write.c (calculate_G_format): Remove unused parameter.
541         (output_float): Remove unused parameter.
542         (write_float): Change callers.
543         (nml_write_obj): Avoid signed warning.
544         Make variable const to support -Wwrite-strings.
545
546         * io/unix.c (fd_alloc, mmap_open, mmap_sfree, mem_sfree,
547         mem_truncate): Mark argument as unused.
548
549         * io/unit.c (get_unit): Mark argument as unused.
550         (init_units): Avoid warning about signed comparision.
551
552         * io/transfer.c (next_record_r): Remove unused parameter.
553         (next_record_w): Remove unused parameter.
554         (next_record): Change callers.
555         (iolength_transfer): Mark arguments as unused.
556
557         * io/open.c: Add initializer.
558
559         * io/list_read.c (read_character): Mark argument as unused.
560         (nml_match_name): Add const to make compile with -Wwrite-strings.
561
562         * io/format.c: Add initializer.
563
564 2005-05-15  Andreas Jaeger  <aj@suse.de>
565
566         * m4/eoshift1.m4: Initialize variables to avoid warnings.
567         * m4/eoshift3.m4: Initialize variables to avoid warnings.
568         * generated/eoshift1_4.c, generated/eoshift1_8.c,
569         generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerated.
570
571         * intrinsics/spread_generic.c (spread): Initialize variables to
572         avoid warnings.
573
574         * intrinsics/eoshift0.c (eoshift0): Initialize variables to avoid
575         warnings.
576         * intrinsics/eoshift2.c (eoshift2): Initialize variables to avoid
577         warnings.
578
579         * io/list_read.c (nml_get_obj_data): Initialize variables to avoid
580         warnings.
581
582         * intrinsics/pack_generic.c (pack): Remove unneeded calculation.
583
584         * m4/matmull.m4 (matmul_): Remove unneeded calculations, fix
585         pointer cast to avoid warning.
586         * generated/matmul_l4.c: Regenerated.
587         * generated/matmul_l8.c: Regenerated.
588
589         * Makefile.am: Remove AM_CFLAGS here.
590         * configure.ac: Define AM_CFLAGS and AM_FCFLAGS so that warnings
591         are set.  Set additionally -Wstrict-prototypes for CFLAGS.
592         * Makefile.in: Regenerated.
593         * aclocal.m4: Regenerated.
594         * configure: Regenerated.
595
596         * intrinsics/system_clock.c (system_clock_4, system_clock_8): Add
597         missing returns, reformat a bit.
598
599         * io/write.c (nml_write_obj): Use %d again - and cast to int,
600         st_sprintf does not handle %ld.
601
602         * io/unit.c (is_internal_unit): Add void as parameter list.
603
604         * io/transfer.c: Move prototype declarations before the functions.
605
606         * runtime/normalize.c (almostone_r4, almostone_r8): Fix parameter
607         list.
608
609         * intrinsics/random.c (KISS_DEFAULT_SEED): Remove extra semicolon.
610
611         * io/transfer.c: Do not use empty initializers for global objects.
612         Add missing initializers.
613
614         * io/lock.c: Do not use empty initializers for global objects.
615
616         * io/close.c: Add missing initializers.
617
618         * runtime/environ.c: Add missing initializers. Do not use empty
619         initializers for global object.
620         (init_string): Mark argument as unused.
621
622         * runtime/main.c (cleanup): Fix parameter list.
623
624         * io/io.h: Fix parameter lists.
625
626         * m4/transpose.m4, m4/matmul.m4: Fix pointer cast to avoid
627         warning.
628
629         * generated/transpose_c4.c, generated/transpose_c8.c,
630         generated/transpose_i4.c, generated/transpose_i8.c,
631         generated/matmul_c4.c, generated/matmul_c8.c,
632         generated/matmul_i4.c, generated/matmul_i8.c,
633         generated/matmul_r4.c, generated/matmul_r8.c: Regenerated.
634
635         * io/write.c (nml_write_obj): Fix 64-bit problem.
636
637         * io/list_read.c (nml_get_obj_data): Add missing braces around
638         initializer to avoid warnings.
639
640         * intrinsics/etime.c (etime_sub): Remove unused variable.
641
642         * intrinsics/chdir.c, intrinsics/getlog.c, intrinsics/link.c,
643         intrinsics/symlnk.c, intrinsics/perror.c: Include <string.h> for
644         prototypes.
645
646         * runtime/string.c (compare0): Remove unused variable.
647         * io/unit.c (init_units): Remove unused variables.
648         * intrinsics/getcwd.c (getcwd_i4_sub): Remove unused variable.
649         * intrinsics/unlink.c (unlink_i4_sub): Remove unused variable.
650         * intrinsics/stat.c (stat_i4_sub, fstat_i8_sub, fstat_i4_sub,
651         stat_i8_sub): Remove unused variable.
652
653 2005-05-12  Thomas Koenig  <Thomas.Koenig@online.de>
654
655         PR libfortran/21324
656         * runtime/memory.c:  Don't define GFC_CLEAR_MEMORY (it's a
657         performance hog).
658         * io/open.c (new_unit): Zero freshly allocated memory for
659         unit structure.
660         * io/unit.c (init_units):  Zero freshly allocated memory for
661         STDIN, STDOUT and STDERR.
662         * io/unix.c (open_internal):  Zero freshly allocated memory
663         for unix_stream.
664         (fd_to_stream):  Likewise.
665
666 2005-05-11  Bud Davis  <bdavis@gfortran.org>
667
668         PR fortran/19478
669         * io/unix.c (fd_truncate): update positions when ftruncate
670         fails (like writing to /dev/null).
671
672 2005-05-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
673
674         PR libfortran/21471
675         * open.c (new_unit): Take care of the case where POSITION_APPEND
676         is specified (sseek to the end, and set u>-endfile).
677
678 2005-05-10  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
679
680         PR fortran/20178
681         * Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90'
682         to dependencies.
683         * Makefile.in: Regenerate.
684         * intrinsics/f2c_specific.F90: New file.
685
686 2005-05-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
687
688         PR libfortran/20788
689         * io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating
690         we don't we to mmap this stream. Use fd_open instead of mmap_open
691         in that case.
692         (open_external): Call fd_to_stream with avoid_mmap = 0.
693         (input_stream): Call fd_to_stream with avoid_mmap = 1.
694         (output_stream): Likewise.
695         (error_stream): Likewise.
696
697 2005-05-09  Mike Stump  <mrs@apple.com>
698
699         * configure: Regenerate.
700
701 2005-05-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
702
703         PR libfortran/19155
704         * io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first
705         non-blank characters of a real number.
706
707 2005-05-04  Thomas Koenig  <Thomas.Koenig@online.de>
708
709         PR libfortran/21354
710         * m4/cshift1.m4: Change dimension of auxiliary arrays from
711         GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
712         * m4/eoshift1.m4: Likewise.
713         * m4/eoshift3.m4: Likewise.
714         * m4/ifunction.m4: Likewise.
715         * m4/in_pack.m4: Likewise.
716         * m4/in_unpack.m4: Likewise.
717         * intrinsics/cshift0.c: Likewise.
718         * intrinsics/eoshift0.c: Likewise.
719         * intrinsics/eoshift2.c: Likewise.
720         * intrinsics/random.c: Likewise.
721         * intrinsics/spread_generic.c: Likewise.
722         * intrinsics/stat.c: Likewise.
723         * generated/all_l4.c: Regenerated.
724         * generated/all_l8.c: Regenerated.
725         * generated/any_l4.c: Regenerated.
726         * generated/any_l8.c: Regenerated.
727         * generated/count_4_l4.c: Regenerated.
728         * generated/count_4_l8.c: Regenerated.
729         * generated/count_8_l4.c: Regenerated.
730         * generated/count_8_l8.c: Regenerated.
731         * generated/cshift1_4.c: Regenerated.
732         * generated/cshift1_8.c: Regenerated.
733         * generated/eoshift1_4.c: Regenerated.
734         * generated/eoshift1_8.c: Regenerated.
735         * generated/eoshift3_4.c: Regenerated.
736         * generated/eoshift3_8.c: Regenerated.
737         * generated/in_pack_i4.c: Regenerated.
738         * generated/in_pack_i8.c: Regenerated.
739         * generated/in_unpack_i4.c: Regenerated.
740         * generated/in_unpack_i8.c: Regenerated.
741         * generated/maxloc0_4_i4.c: Regenerated.
742         * generated/maxloc0_4_i8.c: Regenerated.
743         * generated/maxloc0_4_r4.c: Regenerated.
744         * generated/maxloc0_4_r8.c: Regenerated.
745         * generated/maxloc0_8_i4.c: Regenerated.
746         * generated/maxloc0_8_i8.c: Regenerated.
747         * generated/maxloc0_8_r4.c: Regenerated.
748         * generated/maxloc0_8_r8.c: Regenerated.
749         * generated/maxloc1_4_i4.c: Regenerated.
750         * generated/maxloc1_4_i8.c: Regenerated.
751         * generated/maxloc1_4_r4.c: Regenerated.
752         * generated/maxloc1_4_r8.c: Regenerated.
753         * generated/maxloc1_8_i4.c: Regenerated.
754         * generated/maxloc1_8_i8.c: Regenerated.
755         * generated/maxloc1_8_r4.c: Regenerated.
756         * generated/maxloc1_8_r8.c: Regenerated.
757         * generated/maxval_i4.c: Regenerated.
758         * generated/maxval_i8.c: Regenerated.
759         * generated/maxval_r4.c: Regenerated.
760         * generated/maxval_r8.c: Regenerated.
761         * generated/minloc0_4_i4.c: Regenerated.
762         * generated/minloc0_4_i8.c: Regenerated.
763         * generated/minloc0_4_r4.c: Regenerated.
764         * generated/minloc0_4_r8.c: Regenerated.
765         * generated/minloc0_8_i4.c: Regenerated.
766         * generated/minloc0_8_i8.c: Regenerated.
767         * generated/minloc0_8_r4.c: Regenerated.
768         * generated/minloc0_8_r8.c: Regenerated.
769         * generated/minloc1_4_i4.c: Regenerated.
770         * generated/minloc1_4_i8.c: Regenerated.
771         * generated/minloc1_4_r4.c: Regenerated.
772         * generated/minloc1_4_r8.c: Regenerated.
773         * generated/minloc1_8_i4.c: Regenerated.
774         * generated/minloc1_8_i8.c: Regenerated.
775         * generated/minloc1_8_r4.c: Regenerated.
776         * generated/minloc1_8_r8.c: Regenerated.
777         * generated/minval_i4.c: Regenerated.
778         * generated/minval_i8.c: Regenerated.
779         * generated/minval_r4.c: Regenerated.
780         * generated/minval_r8.c: Regenerated.
781         * generated/product_c4.c: Regenerated.
782         * generated/product_c8.c: Regenerated.
783         * generated/product_i4.c: Regenerated.
784         * generated/product_i8.c: Regenerated.
785         * generated/product_r4.c: Regenerated.
786         * generated/product_r8.c: Regenerated.
787         * generated/sum_c4.c: Regenerated.
788         * generated/sum_c8.c: Regenerated.
789         * generated/sum_i4.c: Regenerated.
790         * generated/sum_i8.c: Regenerated.
791         * generated/sum_r4.c: Regenerated.
792         * generated/sum_r8.c: Regenerated.
793
794 2005-04-30  Thomas Koenig  <Thomas.Koenig@online.de>
795
796         PR libfortran/18958
797         libgfortran.h:  Change typedef of index_type from size_t
798         to ssize_t.
799
800 2005-04-30  Paul Thomas  <pault@gcc.gnu.org>
801
802         PR libfortran/18857
803         * generated/matmul_r8.c: Remove incorrect assertions.
804         * generated/matmul_c4.c: Regenerate
805         * generated/matmul_c8.c: Regenerate
806         * generated/matmul_i4.c: Regenerate
807         * generated/matmul_i8.c: Regenerate
808         * generated/matmul_r4.c: Regenerate
809         * generated/matmul_r8.c: Regenerate
810
811 2005-04-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
812
813         * configure.ac: Check for ftruncate and chsize.
814         * io/unix.c (fd_truncate): Provide chsize as alternative to
815         ftruncate.
816         * config.h.in: Regenerate.
817         * configure: Regenerate.
818
819 2004-04-29  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
820
821         * intrinsics/rename.c: Add missing #includes.
822
823 2004-04-28  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
824
825         * AUTHORS, COPYING, INSTALL, NEWS, README: Remove.
826
827 2005-04-26  David Edelsohn  <edelsohn@gnu.org>
828
829         PR libfortran/20930
830         * io/rewind.c (st_rewind): Flush the stream when resetting the mode
831         from WRITING to READING.
832
833 2005-04-22  Paul Thomas  <pault@gcc.gnu.org>
834             Jerry DeLisle  <jvdelisle@verizon.net>
835
836         * io/write.c (nml_write_obj): Provide 1 more byte for ext_name.
837         * io/list_read.c (nml_get_obj_data): Put extra brackets in get_mem
838         call for ext_name.  These fix the bug reported by Jerry DeLisle to
839         the fortran list and are based on his suggested fix.
840
841 2005-04-22  Thomas Koenig  <Thomas.Koenig@online.de>
842
843         PR libfortran/20074
844         PR libfortran/20436
845         PR libfortran/21108
846         * m4/reshape.m4 (reshape_`'rtype_kind):  rs, rex:  New
847         variables, to be used in calculation of return array sizes.
848         Populate return array descriptor if ret->data is NULL.
849         Fix condition for early return (it used to test something
850         undefined if order was used).
851         Remove duplicate check wether pad is used.
852         * intrinsics/reshape_generic.c (reshape_generic): Likewise.
853         Fix a few places where the wrong variables were set.
854         * generated/reshape_i4.c: Regenerated.
855         * generated/reshape_i8.c: Regenerated.
856
857 2005-04-18  Paul  Thomas <pault@gcc.gnu.org>
858
859         * io/list_read.c (nml_touch_nodes, nml_read_obj,
860         nml_get_obj_data): Fix memory leaks in code for derived types.
861
862 2005-04-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
863
864         PR libfortran/20950
865         * io/inquire.c (inquire_via_unit): Check for the gfc_unit being
866         NULL when setting ioparm.sequential.
867
868 2005-04-17  Thomas Koenig  <Thomas.Koenig@online.de>
869
870         PR libfortran/21075
871         * m4/reshape.m4 (reshape_`'rtype_kind):  Change dimension
872         of auxiliary arrays from GFC_MAX_DIMENSIONS - 1 to
873         GFC_MAX_DIMENSIONS.
874         * intrinsics/reshape_generic.c (reshape_generic):  Likewise.
875         * generated/reshape_i4.c:  Regenerated.
876         * generated/reshape_i8.c:  Regenerated.
877
878 2005-04-17 Paul Thomas <pault@gcc.gnu.org>
879
880         * io/list_read.c (eat_separator): at_eol = 1 replaced
881         (zapped at some time?).
882
883 2005-04-17 Paul Thomas <pault@gcc.gnu.org>
884
885         PR libgfortran/12884
886         PR libgfortran/17285
887         PR libgfortran/18122
888         PR libgfortran/18210
889         PR libgfortran/18392
890         PR libgfortran/18591
891         PR libgfortran/18879
892         * io/io.h (nml_ls): Declare.
893         (namelist_info): Modify for arrays.
894         * io/list_read.c (namelist_read): Reduced to call to new functions.
895         (match_namelist_name): Simplified.
896         (nml_query): Handles stdin queries ? and =?. New function.
897         (nml_get_obj_data): Parses object name. New function.
898         (touch_nml_nodes): Marks objects for read. New function.
899         (untouch_nml_nodes): Resets objects. New function.
900         (parse_qualifier): Parses and checks qualifiers. New function
901         (nml_read_object): Reads and stores object data. New function.
902         (eat_separator): No new_record on '/' in namelist.
903         (finish_separator): No new_record on '/' in namelist.
904         (read_logical): Error return for namelist.
905         (read_integer): Error return for namelist.
906         (read_complex): Error return for namelist.
907         (read_real): Error return for namelist.
908         * io/lock.c (library_end): Free extended namelist_info types.
909         * io/transfer.c (st_set_nml_var): Modified for arrays.
910         (st_set_nml_var_dim): Dimension descriptors. New function.
911         * io/write.c (namelist_write): Reduced to call to new functions.
912         (nml_write_obj): Writes output for object. New function.
913         (write_integer): Suppress leading blanks for repeat counts.
914         (write_int): Suppress leading blanks for repeat counts.
915         (write_float): Suppress leading blanks for repeat counts.
916         (output_float): Suppress leading blanks for repeat counts.
917
918 2005-04-15  Thomas Koenig  <Thomas.Koenig@online.de>
919
920         PR libfortran/18495
921         * intrinsics/spread_generic.c (spread):  Remove const from
922         return array descriptor.
923         New variables: rrank (rank of return array),  rs (for
924         calculating the size of the return array), srank (rank
925         of the source array).
926         Generate runtime error if the dim= argument is larger than
927         the rank of the return array.
928         Generate runtime error if the needed rank of the return
929         array is larger than 7.
930         If ret->data is null, populate the return array descriptor
931         and initialize the variables for the actual operation.
932         Otherwise, set ret->dim[0].stride to one if it is zero.
933         Change second, independent use of variable dim to srank.
934
935 2005-04-12  Mike Stump  <mrs@apple.com>
936
937         * configure: Regenerate.
938
939 2005-04-13  Thomas Koenig  <Thomas.Koenig@online.de>
940
941         PR libfortran/19106
942         * m4/iforeach.c (name`'rtype_qual`_'atype_code):  Add TODO
943         that setting correct strides is a front end job.
944         (`m'name`'rtype_qual`_'atype_code):  Likewise.  If mask has
945         a lowest stride of 0, adjust to 1.
946         * m4/ifunction.c (name`'rtype_qual`_'atype_code):  Add TODO
947         that setting correct strides is a front end job.
948         (`m'name`'rtype_qual`_'atype_code):  Likewise.  If mask has
949         a lowest stride of 0, adjust to 1.
950         * maxloc0_4_i4.c: Regenerated
951         * maxloc0_4_i8.c: Regenerated
952         * maxloc0_4_r4.c: Regenerated
953         * maxloc0_4_r8.c: Regenerated
954         * maxloc0_8_i4.c: Regenerated
955         * maxloc0_8_i8.c: Regenerated
956         * maxloc0_8_r4.c: Regenerated
957         * maxloc0_8_r8.c: Regenerated
958         * maxloc1_4_i4.c: Regenerated
959         * maxloc1_4_i8.c: Regenerated
960         * maxloc1_4_r4.c: Regenerated
961         * maxloc1_4_r8.c: Regenerated
962         * maxloc1_8_i4.c: Regenerated
963         * maxloc1_8_i8.c: Regenerated
964         * maxloc1_8_r4.c: Regenerated
965         * maxloc1_8_r8.c: Regenerated
966         * maxval_i4.c: Regenerated
967         * maxval_i8.c: Regenerated
968         * maxval_r4.c: Regenerated
969         * maxval_r8.c: Regenerated
970         * minloc0_4_i4.c: Regenerated
971         * minloc0_4_i8.c: Regenerated
972         * minloc0_4_r4.c: Regenerated
973         * minloc0_4_r8.c: Regenerated
974         * minloc0_8_i4.c: Regenerated
975         * minloc0_8_i8.c: Regenerated
976         * minloc0_8_r4.c: Regenerated
977         * minloc0_8_r8.c: Regenerated
978         * minloc1_4_i4.c: Regenerated
979         * minloc1_4_i8.c: Regenerated
980         * minloc1_4_r4.c: Regenerated
981         * minloc1_4_r8.c: Regenerated
982         * minloc1_8_i4.c: Regenerated
983         * minloc1_8_i8.c: Regenerated
984         * minloc1_8_r4.c: Regenerated
985         * minloc1_8_r8.c: Regenerated
986         * minval_i4.c: Regenerated
987         * minval_i8.c: Regenerated
988         * minval_r4.c: Regenerated
989         * minval_r8.c: Regenerated
990         * product_c4.c: Regenerated
991         * product_c8.c: Regenerated
992         * product_i4.c: Regenerated
993         * product_i8.c: Regenerated
994         * product_r4.c: Regenerated
995         * product_r8.c: Regenerated
996         * sum_c4.c: Regenerated
997         * sum_c8.c: Regenerated
998         * sum_i4.c: Regenerated
999         * sum_i8.c: Regenerated
1000         * sum_r4.c: Regenerated
1001         * sum_r8.c: Regenerated
1002
1003 2005-04-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1004
1005         PR libfortran/20788
1006         * runtime/environ.c (init_unsigned_integer): Function for
1007         environment variables we want to be positive.
1008         (init_integer): Function to allow negative environment
1009         variables (e.g. for GFORTRAN_STDIN_UNIT).
1010
1011 2005-04-10  Thomas Koenig <Thomas.Koenig@online.de>
1012
1013         PR libfortran/17992
1014         PR libfortran/19568
1015         PR libfortran/19595
1016         PR libfortran/20005
1017         PR libfortran/20092
1018         PR libfortran/20131
1019         PR libfortran/20661
1020         PR libfortran/20744
1021         * io/transfer.c (top level): eor_condition: New static variable.
1022         (read_sf): Remove unnecessary zeroing of buffer (there is enough
1023         information in its length).
1024         Return a string of length 0 (to be padded by caller) if EOR was
1025         seen previously.
1026         Remove erroneous special casing of EOR for standard input.
1027         Set eor_condition for non-advancing I/O if an end of line was
1028         detected.
1029         Increment ioparm.size if necessary.
1030         (formatted_transfer):  Skip the function if there is an EOR condition.
1031         (data_transfer_init):  Initialize eor_condition to zero (false).
1032         (next_record_r):  Clear sf_seen_eor if a \n has been seen already.
1033         (finalize_transfer):  If there is an EOR condition, raise the error.
1034
1035 2005-04-09  Bud Davis  <bdavis@gfortran.org>
1036             Steven G. Kargl <kargls@comcast.net>
1037
1038         PR fortran/19872
1039         * io/transfer.c (data_transfer_init): truncate an existing
1040         file on the first write.
1041
1042 2005-04-09  Thomas Koenig  <Thomas.Koenig@online.de>
1043
1044         PR libfortran/19106
1045         PR libfortran/19014
1046         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): ditto.
1047         If retarray->data is NULL (i.e. the front end does not
1048         know the rank and dimenson of the array), fill in its
1049         properties and allocate memory.
1050         Change the assertions about rank and dimension of retarray into
1051         runtime errors and only check them for retarray->data != NULL.
1052         Do the same for correcting the stride from 0 to 1 in retarray.
1053         (`m'name`'rtype_qual`_'atype_code): Likewise.
1054         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
1055         Change assertion about rank of array to runtime error.
1056         (`m'name`'rtype_qual`_'atype_code): Likewise.
1057         * generated/all_l4.c: Regenerated.
1058         * generated/all_l8.c: Regenerated.
1059         * generated/any_l4.c: Regenerated.
1060         * generated/any_l8.c: Regenerated.
1061         * generated/count_4_l4.c: Regenerated.
1062         * generated/count_4_l8.c: Regenerated.
1063         * generated/count_8_l4.c: Regenerated.
1064         * generated/count_8_l8.c: Regenerated.
1065         * generated/maxloc0_4_i4.c: Regenerated.
1066         * generated/maxloc0_4_i8.c: Regenerated.
1067         * generated/maxloc0_4_r4.c: Regenerated.
1068         * generated/maxloc0_4_r8.c: Regenerated.
1069         * generated/maxloc0_8_i4.c: Regenerated.
1070         * generated/maxloc0_8_i8.c: Regenerated.
1071         * generated/maxloc0_8_r4.c: Regenerated.
1072         * generated/maxloc0_8_r8.c: Regenerated.
1073         * generated/maxloc1_4_i4.c: Regenerated.
1074         * generated/maxloc1_4_i8.c: Regenerated.
1075         * generated/maxloc1_4_r4.c: Regenerated.
1076         * generated/maxloc1_4_r8.c: Regenerated.
1077         * generated/maxloc1_8_i4.c: Regenerated.
1078         * generated/maxloc1_8_i8.c: Regenerated.
1079         * generated/maxloc1_8_r4.c: Regenerated.
1080         * generated/maxloc1_8_r8.c: Regenerated.
1081         * generated/maxval_i4.c: Regenerated.
1082         * generated/maxval_i8.c: Regenerated.
1083         * generated/maxval_r4.c: Regenerated.
1084         * generated/maxval_r8.c: Regenerated.
1085         * generated/minloc0_4_i4.c: Regenerated.
1086         * generated/minloc0_4_i8.c: Regenerated.
1087         * generated/minloc0_4_r4.c: Regenerated.
1088         * generated/minloc0_4_r8.c: Regenerated.
1089         * generated/minloc0_8_i4.c: Regenerated.
1090         * generated/minloc0_8_i8.c: Regenerated.
1091         * generated/minloc0_8_r4.c: Regenerated.
1092         * generated/minloc0_8_r8.c: Regenerated.
1093         * generated/minloc1_4_i4.c: Regenerated.
1094         * generated/minloc1_4_i8.c: Regenerated.
1095         * generated/minloc1_4_r4.c: Regenerated.
1096         * generated/minloc1_4_r8.c: Regenerated.
1097         * generated/minloc1_8_i4.c: Regenerated.
1098         * generated/minloc1_8_i8.c: Regenerated.
1099         * generated/minloc1_8_r4.c: Regenerated.
1100         * generated/minloc1_8_r8.c: Regenerated.
1101         * generated/minval_i4.c: Regenerated.
1102         * generated/minval_i8.c: Regenerated.
1103         * generated/minval_r4.c: Regenerated.
1104         * generated/minval_r8.c: Regenerated.
1105         * generated/product_c4.c: Regenerated.
1106         * generated/product_c8.c: Regenerated.
1107         * generated/product_i4.c: Regenerated.
1108         * generated/product_i8.c: Regenerated.
1109         * generated/product_r4.c: Regenerated.
1110         * generated/product_r8.c: Regenerated.
1111         * generated/sum_c4.c: Regenerated.
1112         * generated/sum_c8.c: Regenerated.
1113         * generated/sum_i4.c: Regenerated.
1114         * generated/sum_i8.c: Regenerated.
1115         * generated/sum_r4.c: Regenerated.
1116         * generated/sum_r8.c: Regenerated.
1117
1118 2005-04-09  Thomas Koenig <Thomas.Koenig@online.de>
1119
1120         PR libfortran/20163
1121         * runtime/string.c (compare0): Use fstrlen() to
1122         strip trailing blanks from option string.
1123
1124 2005-04-09  Andrew Pinski  <pinskia@physics.uc.edu>
1125
1126         PR fortran/13257
1127         * format.c (parse_format_list): Allow an optional comma
1128         between descriptors.
1129
1130 2005-04-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
1131
1132         * io/backspace.c (unformatted_backspace): Do not dereference
1133         the pointer to the stream.
1134
1135 2005-04-07  Andrew Pinski  <pinskia@physics.uc.edu>
1136
1137         PR libfortran/20766
1138         * configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
1139         "-Wl,-single_module".
1140         * configure: Regenerate.
1141         * Makefile.am (libgfortran_la_LDFLAGS): Add extra_ldflags_libgfortran.
1142         * Makefile.in: Regenerate.
1143
1144 2005-04-05  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1145
1146         PR libfortran/20755
1147         * write.c (write_float): A G edit descriptor may locally change
1148         the scale factor, but it needs to be restored afterwards.
1149
1150 2005-04-03  Dale Ranta  <dir@lanl.gov>
1151             Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1152
1153         PR libfortran/20068
1154         PR libfortran/20125
1155         PR libfortran/20156
1156         PR libfortran/20471
1157         * io/backspace.c (unformatted_backspace): Fix error in arithmetic.
1158         (st_backspace): When in WRITING mode, we flush and falling back
1159         into READING mode. In all cases, correctly position the stream.
1160
1161 2005-03-31  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1162
1163         PR libfortran/20660
1164         * io/inquire.c (inquire_via_unit): Non-opened units should still be
1165         reported by an INQUIRE statement as existing.
1166         * io/transfer.c (data_transfer_init): Never accept negative units.
1167
1168 2005-03-29  Dale Ranta  <dir@lanl.gov>
1169             Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1170
1171         PR libfortran/20163
1172         * io/open.c (st_open): call library_end() before returning even if
1173         an error arises.
1174
1175 2005-03-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1176
1177         PR libfortran/19678
1178         * list_read.c (next_char, eat_separator, finish_separator, read_real)
1179         (namelist_read): Add support for '\r' as well as '\n' as EOL
1180         character.
1181
1182         PR libfortran/19679
1183         * list_read.c (read_sf): Add a '\r' in a test to support DOS
1184         line-endings when line length is exceeded.
1185
1186 2005-03-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1187
1188         PR libfortran/15332
1189         * io/format.c (parse_format_list): format node for colon edit
1190         descriptor needs a repeat counter set to 1.
1191
1192 2005-02-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1193
1194         * config.h.in: Regenerate.
1195
1196 2005-02-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1197
1198         PR libfortran/18025
1199         * write.c (output_float): Handling the "F0.d" format similarly as
1200         commercial compilers.
1201
1202 2005-03-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1203
1204         * Makefile.am: Added new files.
1205         * Makefile.in: Regenerate.
1206         * aclocal.m4: Regenerate.
1207         * configure.ac: add checks for signal.h headers file, as well as
1208         following functions: chdir, strerror, getlogin, gethostname, kill,
1209         link, symlink, perror, sleep, time.
1210         * configure: Regenerate.
1211         * intrinsics/chdir.c, intrinsics/gerror.c, intrinsics/getlog.c,
1212         intrinsics/hostnm.c, intrinsics/ierrno.c, intrinsics/kill.c,
1213         intrinsics/link.c, intrinsics/perror.c, intrinsics/rename.c,
1214         intrinsics/sleep.c, intrinsics/symlnk.c, intrinsics/time.c: Newly
1215         implementend g77 intrinsics.
1216
1217 2005-03-21  Zack Weinberg  <zack@codesourcery.com>
1218
1219         * configure.ac: Do not invoke TL_AC_GCC_VERSION.
1220         In all substitutions, leave gcc_version to be expanded by the Makefile.
1221         * aclocal.m4, configure: Regenerate.
1222         * Makefile.am: Set gcc_version.
1223         * Makefile.in: Regenerate.
1224
1225 2005-03-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1226
1227         PR libfortran/20257
1228         * open.c (new_unit): set record length to max_offset rather than
1229           using a hard-coded limit (which was too low).
1230
1231 2005-03-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1232
1233         PR libfortran/20480
1234         * write.c (output_float): special check when writing 0.0 with
1235           EN and ES formats.
1236
1237 2005-03-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1238
1239         PR libfortran/20124
1240         * write.c (output_float): Adds a nzero_real variable to store
1241         the number of leading zeros whatever the format width is. Corrects
1242         the rounding of numbers less than 10^(-width). Fixes typo in an
1243         error message. Updates copyright years
1244
1245 2005-02-27  Toon Moene  <toon@moene.indiv.nluug.nl>
1246
1247         * runtime/environ.c: Update copyright years.
1248
1249 2005-02-27  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1250
1251         * io/write.c: Update copyright years.
1252
1253 2005-02-27  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1254
1255         PR libfortran/20101
1256         * io/write.c (output_float): Added special check for value 0.0 in
1257         PE format.
1258
1259 2004-02-27  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1260
1261         * io/write.c (output_float): Fix typo in condition.
1262
1263 2005-02-25  Peter O'Gorman  <peter@pogma.com>
1264             Toon Moene  <toon@moene.indiv.nluug.nl>
1265
1266         PR libgfortran/17748
1267         * runtime/environ.c: Remove references to environ.
1268         (show_variables): remove GFORTRAN_UNBUFFERED_* and
1269         GFORTRAN_NAME_* because they require environ.
1270         (pattern_scan): Remove function.
1271
1272 2004-02-22  Paul Thomas <paulthomas2@wannado.fr>
1273             Bud Davis  <bdavis@gfortran.org>
1274
1275         * io/list_read.c (read_real): Handle separators properly
1276         in list directed read.
1277
1278 2004-02-21  Bud Davis  <bdavis@gfortran.org>
1279
1280         PR fortran/20086
1281         * io/transfer.c (write_constant_string): accept an 'h' as
1282         the start of a hollerith format string.
1283
1284 2005-02-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
1285
1286         PR libfortran/19302
1287         * intrinsics/c99_functions.c (nextafterf): Special-case infinite
1288         numbers.
1289
1290 2005-02-21  Steven G. Kargl  <kargls@comcast.net>
1291
1292         * io/write.c (output_float):  Typo in error meesage.
1293
1294 2005-02-20  Steven G. Kargl  <kargls@comcast.net>
1295
1296         PR 20085
1297         * intrinsic/args.c (iargc): Off by 1.
1298
1299 2005-02-19  Steven G. Kargl  <kargls@comcast.net>
1300
1301         *  intrinsic/date_and_time.c: Fix conformance problems.
1302
1303 2005-02-01  Paul Thomas <paulthomas2@wanadoo.fr>
1304
1305         PR libgfortran/19363
1306         PR libgfortran/19691
1307         * libgfortran.h (isfinite): Work around broken isfinite(x) in Cygwin.
1308
1309 2005-01-30  Bud Davis  <bdavis@gfortran.org>
1310
1311         PR fortran/19647
1312         * io/inquire.c (inquire_via_unit): Use correct variable for
1313         pad.
1314
1315 2005-01-29  Thomas Koenig  <Thomas.Koenig@online.de>
1316
1317         PR libfortran/19595
1318         * io/transfer.c (data_transfer_init): eor requires advance="NO".
1319
1320 2005-01-25  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1321
1322         PR libfortran/19524
1323         * io/read.c (read_f): Don't free uninitialized pointer.
1324
1325 2005-01-23  James A. Morrison  <phython@gcc.gnu.org>
1326         Paul Brook  <paul@codesourcery.com>
1327
1328         PR fortran/19294
1329         * Makefile.am: Add transpose_c4.c and transpose_c8.c.
1330         * intrinsics/cshift0.c: Use separate optimized loops for complex types.
1331         * m4/transpose.m4: Include type letter in function name.
1332         * Makefile.in: Regenerate.
1333         * generated/transpose_*.c: Regenerate.
1334
1335 2005-01-22  Thomas Koenig  <Thomas.Koenig@online.de>
1336
1337         PR libfortran/19451
1338         * io/transfer.c (finalize_transfer):  Don't do anything if
1339         there is an error condition.
1340
1341 2005-01-22  David Edelsohn  <edelsohn@gnu.org>
1342
1343         PR libgfortran/19052
1344         * libgfortran.h (options_t): Add stderr_unit.
1345         * io/io.h (error_stream): Declare.
1346         * io/open.c (new_unit): Do not terminate abnormally if opening
1347         file preconnected to stdin, stdout, or stderr.
1348         * io/unit.c (init_units): Initialize stderr_unit.
1349         * io/unix.c (error_stream): New function.
1350         * runtime/environ.c (GFORTRAN_STDERR_UNIT): New environment variable.
1351
1352 2005-01-22  Thomas Koenig  <Thomas.Koenig@online.de>
1353
1354         PR libfortran/18982
1355         * io/unix.c (regular_file):  No need to change flags->action
1356         if an error occurs.  Document this.
1357         No need to call stat() for STATUS_OLD, open() will
1358         fail anyway.
1359         For ACTION_UNSPECIFIED, try open for read-write, then for
1360         read-only if open fails with EACCES, then for write-only
1361         if that fails with EACCES again.
1362         * io/unix.c (open_external): Document changed behavior of
1363         regular_file.
1364
1365 2005-01-22  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1366
1367         PR fortran/19194
1368         * io/io.h (st_parameter): Use 'GFC_INTEGER_4' instead of 'int',
1369         use CHARACTER macro for definition of string valued paramters.
1370
1371 2005-01-22  Bud Davis  <bdavis9659@comcast.net>
1372
1373         PR fortran/19314
1374         * io/inquire.c(inquire_via_unit): implement POSITION=.
1375         * io/transfer.c(next_record): update position for
1376         INQUIRE.
1377         * io/rewind.c(st_rewind): update position for
1378         INQUIRE.
1379
1380 2005-01-16  Bud Davis  <bdavis9659@comcast.net>
1381
1382         PR fortran/18778
1383         * io/transfer.c (us_read): no bytes available is not a
1384         runtime error.
1385
1386 2005-01-15  Bud Davis  <bdavis9659@comcast.net>
1387
1388         PR fortran/18983
1389         * io/transfer.c (st_write_done): only truncate when it
1390         is required.
1391
1392 2005-01-12  Toon Moene  <toon@moene.indiv.nluug.nl>
1393
1394         PR libfortran/19280
1395         c99_protos.h: License changed to GPL+exception.
1396         libgfortran.h: Ditto.
1397         intrinsics/abort.c: Ditto.
1398         intrinsics/args.c: Ditto.
1399         intrinsics/associated.c: Ditto.
1400         intrinsics/bessel.c: Ditto.
1401         intrinsics/c99_functions.c: Ditto.
1402         intrinsics/cpu_time.c: Ditto.
1403         intrinsics/cshift0.c: Ditto.
1404         intrinsics/date_and_time.c: Ditto.
1405         intrinsics/env.c: Ditto.
1406         intrinsics/eoshift0.c: Ditto.
1407         intrinsics/eoshift2.c: Ditto.
1408         intrinsics/erf.c: Ditto.
1409         intrinsics/etime.c: Ditto.
1410         intrinsics/exit.c: Ditto.
1411         intrinsics/flush.c: Ditto.
1412         intrinsics/fnum.c: Ditto.
1413         intrinsics/getXid.c: Ditto.
1414         intrinsics/getcwd.c: Ditto.
1415         intrinsics/ishftc.c: Ditto.
1416         intrinsics/mvbits.c: Ditto.
1417         intrinsics/pack_generic.c: Ditto.
1418         intrinsics/rand.c: Ditto.
1419         intrinsics/random.c: Ditto.
1420         intrinsics/reshape_generic.c: Ditto.
1421         intrinsics/reshape_packed.c: Ditto.
1422         intrinsics/size.c: Ditto.
1423         intrinsics/spread_generic.c: Ditto.
1424         intrinsics/stat.c: Ditto.
1425         intrinsics/string_intrinsics.c: Ditto.
1426         intrinsics/system.c: Ditto.
1427         intrinsics/system_clock.c: Ditto.
1428         intrinsics/transpose_generic.c: Ditto.
1429         intrinsics/umask.c: Ditto.
1430         intrinsics/unlink.c: Ditto.
1431         intrinsics/unpack_generic.c: Ditto.
1432         io/backspace.c: Ditto.
1433         io/close.c: Ditto.
1434         io/endfile.c: Ditto.
1435         io/format.c: Ditto.
1436         io/inquire.c: Ditto.
1437         io/io.h: Ditto.
1438         io/list_read.c: Ditto.
1439         io/lock.c: Ditto.
1440         io/open.c: Ditto.
1441         io/read.c: Ditto.
1442         io/rewind.c: Ditto.
1443         io/transfer.c: Ditto.
1444         io/unit.c: Ditto.
1445         io/unix.c: Ditto.
1446         io/write.c: Ditto.
1447         m4/all.m4: Ditto.
1448         m4/any.m4: Ditto.
1449         m4/cexp.m4: Ditto.
1450         m4/chyp.m4: Ditto.
1451         m4/count.m4: Ditto.
1452         m4/cshift1.m4: Ditto.
1453         m4/ctrig.m4: Ditto.
1454         m4/dotprod.m4: Ditto.
1455         m4/dotprodc.m4: Ditto.
1456         m4/dotprodl.m4: Ditto.
1457         m4/eoshift1.m4: Ditto.
1458         m4/eoshift3.m4: Ditto.
1459         m4/exponent.m4: Ditto.
1460         m4/fraction.m4: Ditto.
1461         m4/head.m4: Ditto.
1462         m4/iforeach.m4: Ditto.
1463         m4/ifunction.m4: Ditto.
1464         m4/in_pack.m4: Ditto.
1465         m4/in_unpack.m4: Ditto.
1466         m4/iparm.m4: Ditto.
1467         m4/matmul.m4: Ditto.
1468         m4/matmull.m4: Ditto.
1469         m4/maxloc0.m4: Ditto.
1470         m4/maxloc1.m4: Ditto.
1471         m4/maxval.m4: Ditto.
1472         m4/minloc0.m4: Ditto.
1473         m4/minloc1.m4: Ditto.
1474         m4/minval.m4: Ditto.
1475         m4/mtype.m4: Ditto.
1476         m4/nearest.m4: Ditto.
1477         m4/pow.m4: Ditto.
1478         m4/product.m4: Ditto.
1479         m4/reshape.m4: Ditto.
1480         m4/set_exponent.m4: Ditto.
1481         m4/shape.m4: Ditto.
1482         m4/specific.m4: Ditto.
1483         m4/specific2.m4: Ditto.
1484         m4/sum.m4: Ditto.
1485         m4/transpose.m4: Ditto.
1486         m4/types.m4: Ditto.
1487         runtime/environ.c: Ditto.
1488         runtime/error.c: Ditto.
1489         runtime/in_pack_generic.c: Ditto.
1490         runtime/in_unpack_generic.c: Ditto.
1491         runtime/main.c: Ditto.
1492         runtime/memory.c: Ditto.
1493         runtime/normalize.c: Ditto.
1494         runtime/pause.c: Ditto.
1495         runtime/select.c: Ditto.
1496         runtime/stop.c: Ditto.
1497         runtime/string.c: Ditto.
1498         generated/_abs_c4.f90: Regenerated.
1499         generated/_abs_c8.f90: Regenerated.
1500         generated/_abs_i4.f90: Regenerated.
1501         generated/_abs_i8.f90: Regenerated.
1502         generated/_abs_r4.f90: Regenerated.
1503         generated/_abs_r8.f90: Regenerated.
1504         generated/_acos_r4.f90: Regenerated.
1505         generated/_acos_r8.f90: Regenerated.
1506         generated/_aint_r4.f90: Regenerated.
1507         generated/_aint_r8.f90: Regenerated.
1508         generated/_anint_r4.f90: Regenerated.
1509         generated/_anint_r8.f90: Regenerated.
1510         generated/_asin_r4.f90: Regenerated.
1511         generated/_asin_r8.f90: Regenerated.
1512         generated/_atan2_r4.f90: Regenerated.
1513         generated/_atan2_r8.f90: Regenerated.
1514         generated/_atan_r4.f90: Regenerated.
1515         generated/_atan_r8.f90: Regenerated.
1516         generated/_conjg_c4.f90: Regenerated.
1517         generated/_conjg_c8.f90: Regenerated.
1518         generated/_cos_c4.f90: Regenerated.
1519         generated/_cos_c8.f90: Regenerated.
1520         generated/_cos_r4.f90: Regenerated.
1521         generated/_cos_r8.f90: Regenerated.
1522         generated/_cosh_r4.f90: Regenerated.
1523         generated/_cosh_r8.f90: Regenerated.
1524         generated/_dim_i4.f90: Regenerated.
1525         generated/_dim_i8.f90: Regenerated.
1526         generated/_dim_r4.f90: Regenerated.
1527         generated/_dim_r8.f90: Regenerated.
1528         generated/_exp_c4.f90: Regenerated.
1529         generated/_exp_c8.f90: Regenerated.
1530         generated/_exp_r4.f90: Regenerated.
1531         generated/_exp_r8.f90: Regenerated.
1532         generated/_log10_r4.f90: Regenerated.
1533         generated/_log10_r8.f90: Regenerated.
1534         generated/_log_c4.f90: Regenerated.
1535         generated/_log_c8.f90: Regenerated.
1536         generated/_log_r4.f90: Regenerated.
1537         generated/_log_r8.f90: Regenerated.
1538         generated/_mod_i4.f90: Regenerated.
1539         generated/_mod_i8.f90: Regenerated.
1540         generated/_mod_r4.f90: Regenerated.
1541         generated/_mod_r8.f90: Regenerated.
1542         generated/_sign_i4.f90: Regenerated.
1543         generated/_sign_i8.f90: Regenerated.
1544         generated/_sign_r4.f90: Regenerated.
1545         generated/_sign_r8.f90: Regenerated.
1546         generated/_sin_c4.f90: Regenerated.
1547         generated/_sin_c8.f90: Regenerated.
1548         generated/_sin_r4.f90: Regenerated.
1549         generated/_sin_r8.f90: Regenerated.
1550         generated/_sinh_r4.f90: Regenerated.
1551         generated/_sinh_r8.f90: Regenerated.
1552         generated/_sqrt_c4.f90: Regenerated.
1553         generated/_sqrt_c8.f90: Regenerated.
1554         generated/_sqrt_r4.f90: Regenerated.
1555         generated/_sqrt_r8.f90: Regenerated.
1556         generated/_tan_r4.f90: Regenerated.
1557         generated/_tan_r8.f90: Regenerated.
1558         generated/_tanh_r4.f90: Regenerated.
1559         generated/_tanh_r8.f90: Regenerated.
1560         generated/all_l4.c: Regenerated.
1561         generated/all_l8.c: Regenerated.
1562         generated/any_l4.c: Regenerated.
1563         generated/any_l8.c: Regenerated.
1564         generated/count_4_l4.c: Regenerated.
1565         generated/count_4_l8.c: Regenerated.
1566         generated/count_8_l4.c: Regenerated.
1567         generated/count_8_l8.c: Regenerated.
1568         generated/cshift1_4.c: Regenerated.
1569         generated/cshift1_8.c: Regenerated.
1570         generated/dotprod_c4.c: Regenerated.
1571         generated/dotprod_c8.c: Regenerated.
1572         generated/dotprod_i4.c: Regenerated.
1573         generated/dotprod_i8.c: Regenerated.
1574         generated/dotprod_l4.c: Regenerated.
1575         generated/dotprod_l8.c: Regenerated.
1576         generated/dotprod_r4.c: Regenerated.
1577         generated/dotprod_r8.c: Regenerated.
1578         generated/eoshift1_4.c: Regenerated.
1579         generated/eoshift1_8.c: Regenerated.
1580         generated/eoshift3_4.c: Regenerated.
1581         generated/eoshift3_8.c: Regenerated.
1582         generated/exp_c4.c: Regenerated.
1583         generated/exp_c8.c: Regenerated.
1584         generated/exponent_r4.c: Regenerated.
1585         generated/exponent_r8.c: Regenerated.
1586         generated/fraction_r4.c: Regenerated.
1587         generated/fraction_r8.c: Regenerated.
1588         generated/hyp_c4.c: Regenerated.
1589         generated/hyp_c8.c: Regenerated.
1590         generated/in_pack_i4.c: Regenerated.
1591         generated/in_pack_i8.c: Regenerated.
1592         generated/in_unpack_i4.c: Regenerated.
1593         generated/in_unpack_i8.c: Regenerated.
1594         generated/matmul_c4.c: Regenerated.
1595         generated/matmul_c8.c: Regenerated.
1596         generated/matmul_i4.c: Regenerated.
1597         generated/matmul_i8.c: Regenerated.
1598         generated/matmul_l4.c: Regenerated.
1599         generated/matmul_l8.c: Regenerated.
1600         generated/matmul_r4.c: Regenerated.
1601         generated/matmul_r8.c: Regenerated.
1602         generated/maxloc0_4_i4.c: Regenerated.
1603         generated/maxloc0_4_i8.c: Regenerated.
1604         generated/maxloc0_4_r4.c: Regenerated.
1605         generated/maxloc0_4_r8.c: Regenerated.
1606         generated/maxloc0_8_i4.c: Regenerated.
1607         generated/maxloc0_8_i8.c: Regenerated.
1608         generated/maxloc0_8_r4.c: Regenerated.
1609         generated/maxloc0_8_r8.c: Regenerated.
1610         generated/maxloc1_4_i4.c: Regenerated.
1611         generated/maxloc1_4_i8.c: Regenerated.
1612         generated/maxloc1_4_r4.c: Regenerated.
1613         generated/maxloc1_4_r8.c: Regenerated.
1614         generated/maxloc1_8_i4.c: Regenerated.
1615         generated/maxloc1_8_i8.c: Regenerated.
1616         generated/maxloc1_8_r4.c: Regenerated.
1617         generated/maxloc1_8_r8.c: Regenerated.
1618         generated/maxval_i4.c: Regenerated.
1619         generated/maxval_i8.c: Regenerated.
1620         generated/maxval_r4.c: Regenerated.
1621         generated/maxval_r8.c: Regenerated.
1622         generated/minloc0_4_i4.c: Regenerated.
1623         generated/minloc0_4_i8.c: Regenerated.
1624         generated/minloc0_4_r4.c: Regenerated.
1625         generated/minloc0_4_r8.c: Regenerated.
1626         generated/minloc0_8_i4.c: Regenerated.
1627         generated/minloc0_8_i8.c: Regenerated.
1628         generated/minloc0_8_r4.c: Regenerated.
1629         generated/minloc0_8_r8.c: Regenerated.
1630         generated/minloc1_4_i4.c: Regenerated.
1631         generated/minloc1_4_i8.c: Regenerated.
1632         generated/minloc1_4_r4.c: Regenerated.
1633         generated/minloc1_4_r8.c: Regenerated.
1634         generated/minloc1_8_i4.c: Regenerated.
1635         generated/minloc1_8_i8.c: Regenerated.
1636         generated/minloc1_8_r4.c: Regenerated.
1637         generated/minloc1_8_r8.c: Regenerated.
1638         generated/minval_i4.c: Regenerated.
1639         generated/minval_i8.c: Regenerated.
1640         generated/minval_r4.c: Regenerated.
1641         generated/minval_r8.c: Regenerated.
1642         generated/nearest_r4.c: Regenerated.
1643         generated/nearest_r8.c: Regenerated.
1644         generated/pow_c4_i4.c: Regenerated.
1645         generated/pow_c4_i8.c: Regenerated.
1646         generated/pow_c8_i4.c: Regenerated.
1647         generated/pow_c8_i8.c: Regenerated.
1648         generated/pow_i4_i4.c: Regenerated.
1649         generated/pow_i4_i8.c: Regenerated.
1650         generated/pow_i8_i4.c: Regenerated.
1651         generated/pow_i8_i8.c: Regenerated.
1652         generated/pow_r4_i4.c: Regenerated.
1653         generated/pow_r4_i8.c: Regenerated.
1654         generated/pow_r8_i4.c: Regenerated.
1655         generated/pow_r8_i8.c: Regenerated.
1656         generated/product_c4.c: Regenerated.
1657         generated/product_c8.c: Regenerated.
1658         generated/product_i4.c: Regenerated.
1659         generated/product_i8.c: Regenerated.
1660         generated/product_r4.c: Regenerated.
1661         generated/product_r8.c: Regenerated.
1662         generated/reshape_i4.c: Regenerated.
1663         generated/reshape_i8.c: Regenerated.
1664         generated/set_exponent_r4.c: Regenerated.
1665         generated/set_exponent_r8.c: Regenerated.
1666         generated/shape_i4.c: Regenerated.
1667         generated/shape_i8.c: Regenerated.
1668         generated/sum_c4.c: Regenerated.
1669         generated/sum_c8.c: Regenerated.
1670         generated/sum_i4.c: Regenerated.
1671         generated/sum_i8.c: Regenerated.
1672         generated/sum_r4.c: Regenerated.
1673         generated/sum_r8.c: Regenerated.
1674         generated/transpose_i4.c: Regenerated.
1675         generated/transpose_i8.c: Regenerated.
1676         generated/trig_c4.c: Regenerated.
1677         generated/trig_c8.c: Regenerated.
1678
1679 2005-01-07  Bud Davis  <bdavis9659@comcast.net>
1680
1681         PR fortran/18398
1682         * transfer.c (next_record_r): always skip the
1683         eol search if it was found during sf_read.
1684
1685 2004-12-27  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1686
1687         * libgfortran/libgfortran.h (GFC_UINTEGER_1, GFC_UINTEGER_2):
1688         Define.
1689         * intrinsics/ishftc.c: Update copyright years.
1690         (ishftc8): Change 'shift' and 'size' to GFC_INTEGER_4.
1691         * intrinsics/mvbits.c: Correct non-ASCII character in my name.
1692         Add implementations for GFC_INTEGER_1 and GFC_INTEGER_2.
1693
1694 2004-12-23  Bud Davis  <bdavis9659@comcast.net>
1695
1696         PR fortran/19071
1697         * io/tranfer.c (formatted_transfer): moved check for
1698         format reversion inside the processing loop.
1699
1700 2004-12-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
1701
1702         PR libfortran/19074
1703         * libgfortran.h (itoa): Rename to gfc_itoa.
1704         * io/write.c (itoa): Same.
1705         * runtime/environ.c (itoa): Same.
1706         * runtime/error.c (itoa): Same.
1707
1708 2004-12-15  Bud Davis  <bdavis9659@comcast.net>
1709             Steven G. Kargl  <kargls@comcast.net>
1710
1711         PR fortran/17597
1712         * io/list_read.c (read_real): do not push back a comma when
1713         it delimits a real value without a decimal point
1714
1715 2004-12-14  Steve Ellcey  <sje@cup.hp.com>
1716
1717         * libgfortran/io/transfer.c (us_read): Use memcpy/memset
1718         instead of assignment to fill unaligned buffer.
1719         (us_write): Ditto.
1720         (next_record_w): Ditto.
1721
1722 2004-12-14  Steven G. Kargl  <kargls@comcast.net>
1723
1724         PR libfortran/18966
1725         * gfortran.h: typedef GFC_INTEGER_1 and GFC_INTEGER_2
1726         * intrinsics/cshift0.c (cshift0_1,cshift0_2): New functions.
1727         * intrinsics/eoshift0.c (eoshift0_1,eoshift0_2): New functions.
1728         * intrinsics/eoshift2.c (eoshift2_1,eoshift2_2): New functions.
1729
1730 2004-12-13  David Edelsohn  <edelsohn@gnu.org>
1731
1732         * io/transfer.c (read_sf): Change bitwise "and" to logical "and".
1733
1734 2004-12-12  Richard Henderson  <rth@redhat.com>
1735
1736         * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
1737         intrinsics/pack_generic.c, intrinsics/reshape_generic.c,
1738         intrinsics/spread_generic.c, intrinsics/transpose_generic.c,
1739         intrinsics/unpack_generic.c, m4/cshift1.m4, m4/dotprod.m4,
1740         m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
1741         m4/iforeach.m4, m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4,
1742         m4/reshape.m4, m4/shape.m4, m4/transpose.m4: Use standard prefix
1743         instead of "__".
1744         * generated/*: Rebuild.
1745
1746 2004-12-12  Richard Henderson  <rth@redhat.com>
1747
1748         * acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.
1749         (LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT): New.
1750         (LIBGFOR_CHECK_ATTRIBUTE_ALIAS): New.
1751         * configure.ac: Use them.
1752         * configure, config.h.in, aclocal.m4: Rebuild.
1753         * libgfortran.h (prefix): Remove.
1754         (PREFIX, IPREFIX): New.
1755         (sym_rename, sym_rename1, sym_rename2): New.
1756         (internal_proto, export_proto, export_proto_np): New.
1757         (iexport_proto, iexport): New.
1758         (iexport_data_proto, iexport_data): New.
1759         * intrinsics/abort.c, intrinsics/args.c, intrinsics/associated.c,
1760         intrinsics/cpu_time.c, intrinsics/cshift0.c,
1761         intrinsics/date_and_time.c, intrinsics/env.c, intrinsics/eoshift0.c,
1762         intrinsics/eoshift2.c, intrinsics/etime.c, intrinsics/exit.c,
1763         intrinsics/flush.c, intrinsics/fnum.c, intrinsics/getXid.c,
1764         intrinsics/getcwd.c, intrinsics/ishftc.c, intrinsics/mvbits.c,
1765         intrinsics/pack_generic.c, intrinsics/rand.c, intrinsics/random.c,
1766         intrinsics/reshape_generic.c, intrinsics/size.c,
1767         intrinsics/spread_generic.c, intrinsics/stat.c,
1768         intrinsics/string_intrinsics.c, intrinsics/system.c,
1769         intrinsics/system_clock.c, intrinsics/transpose_generic.c,
1770         intrinsics/umask.c, intrinsics/unlink.c, intrinsics/unpack_generic.c,
1771         io/backspace.c, io/close.c, io/endfile.c, io/inquire.c, io/io.h,
1772         io/open.c, io/rewind.c, io/transfer.c, libgfortran.h, m4/cshift1.m4,
1773         m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4,
1774         m4/eoshift3.m4, m4/exponent.m4, m4/fraction.m4, m4/iforeach.m4,
1775         m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/nearest.m4,
1776         m4/pow.m4, m4/reshape.m4, m4/set_exponent.m4, m4/shape.m4,
1777         m4/transpose.m4, runtime/environ.c, runtime/error.c,
1778         runtime/in_pack_generic.c, runtime/in_unpack_generic.c,
1779         runtime/main.c, runtime/memory.c, runtime/pause.c, runtime/select.c,
1780         runtime/stop.c: Use them to mark symbols internal or external.
1781         * generated/*: Rebuild.
1782
1783 2004-12-09  David Edelsohn  <edelsohn@gnu.org>
1784
1785         PR bootstrap/18895
1786         Revert 2004-12-07 change.
1787         * Makefile.am (AM_MAKEFLAGS): Delete.
1788         * Makefile.in: Regenerate.
1789
1790 2004-12-07  Steve Ellcey  <sje@cup.hp.com>
1791
1792         * libgfortran/Makefile.am (AM_MAKEFLAGS): New.
1793         * libgfortran/Makefile.in: Regenerate
1794
1795 2004-12-07  Steve Ellcey  <sje@cup.hp.com>
1796
1797         * io/io.h (open_external): Change prototype.
1798         * io/unix.c (regular_file): Change prototype and set flags->action if
1799         needed.
1800         (open_external): Ditto.
1801         * io/open.c (new_unit): Let open_external set flags->action.
1802
1803 2004-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1804
1805         * configure.ac: Check for ieeefp.h.  Check for fabsf in libm.
1806         * configure: Regenerate.
1807         * config.h.in: Likewise.
1808         * c99_protos.h: New file.
1809         * libgfortran.h: Include c99_protos.h and conditionally ieeefp.h.
1810         * intrinsics/c99_functions.c (fabsf): New function.
1811
1812 2004-12-06  Richard Henderson  <rth@redhat.com>
1813
1814         * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
1815         intrinsics/pack_generic.c, intrinsics/string_intrinsics.c,
1816         intrinsics/transpose_generic.c, m4/ifunction.m4, m4/matmul.m4,
1817         m4/matmull.m4, m4/transpose.m4: Use internal_malloc_size instead
1818         of internal_malloc.
1819         * generated/*: Rebuild.
1820
1821 2004-12-06  Richard Henderson  <rth@redhat.com>
1822
1823         * intrinsics/c99_functions.c, intrinsics/eoshift0.c,
1824         intrinsics/eoshift2.c, intrinsics/exit.c, intrinsics/flush.c,
1825         intrinsics/ishftc.c, intrinsics/mvbits.c, intrinsics/pack_generic.c,
1826         intrinsics/random.c, intrinsics/reshape_generic.c, intrinsics/size.c,
1827         intrinsics/spread_generic.c, intrinsics/stat.c,
1828         intrinsics/string_intrinsics.c, intrinsics/system_clock.c,
1829         intrinsics/transpose_generic.c, intrinsics/unlink.c,
1830         intrinsics/unpack_generic.c, io/backspace.c, io/format.c,
1831         io/list_read.c, io/lock.c, io/open.c, io/transfer.c, io/unix.c,
1832         io/write.c, runtime/environ.c, runtime/error.c,
1833         runtime/in_pack_generic.c, runtime/in_unpack_generic.c, runtime/main.c,
1834         runtime/memory.c, runtime/pause.c, runtime/stop.c,
1835         runtime/string.c: Whitespace fixes.
1836
1837 2004-12-06  Richard Henderson  <rth@redhat.com>
1838
1839         * Makefile.am: Generate all m4 output under $(srcdir).
1840         * Makefile.in: Regenerate.
1841
1842 2004-12-02  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1843
1844         PR fortran/18710
1845         * io/transfer.c (unformatted_read, unformatted_write): width of
1846         a COMPLEX is twice its kind.
1847
1848 2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
1849
1850         * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
1851         * configure, aclocal.m4, Makefile.in: Regenerate.
1852
1853 2004-12-02  Bud Davis  <bdavis9659@comcast.net>
1854
1855         PR libfortran/18284
1856         * io/unix.c (fd_alloc_w_at): Update file_length when extending.
1857         * io/backspace.c (formatted_backspace): Reset endfile after backspace.
1858
1859 2004-12-02  Bud Davis  <bdavis9659@comcast.net>
1860
1861         * io/inquire.c (inquire_via_unit): do not allow a direct access
1862         file to be opened for sequential I/O.
1863
1864 2004-12-02  Steven G. Kargl  <kargls@comcast.net>
1865         Paul Brook  <paul@codesourcery.com>
1866
1867         * intrinsics/flush.c: New file.
1868         * intrinsics/fnum.c: ditto
1869         * intrinsics/stat.c: ditto
1870         * io/io.h (unit_to_fd): Add prototype.
1871         * io/unix.c (unit_to_fd): New function.
1872         * configure.ac: Add test for members of struct stat.  Check for
1873         sys/types.h and sys/stat.h
1874         * Makefile.am: Add intrinsics/{flush.c,fnum.c,stat.c}
1875         * configure.in: Regenerate.
1876         * config.h.in: Regenerate.
1877         * Makefile.in: Regenerate.
1878
1879 2004-12-01  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
1880
1881         * Makefile.am (AM_CPPFLAGS): Use -iquote instead of -I.
1882
1883 2004-11-28  Bud Davis  <bdavis9659@comcast.net>
1884
1885         * io/unix.c (mmap_alloc_w_a): check for a write to a location
1886         less than the mapped area.
1887
1888 2004-11-27  Bud Davis  <bdavis9659@comcast.net>
1889
1890         PR fortran/18364
1891         *  io/endfile.c (st_endfile): flush the stream before truncating.
1892
1893 2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
1894
1895         * configure: Regenerate for libtool change.
1896
1897 2004-11-22  Steven Bosscher  <stevenb@suse.de>
1898
1899         PR libfortran/15960
1900         * configure.ac: Check for finite in libm.
1901         * libgfortran.h: Define isfinite macro if not defined.
1902         * intrinsics/c99_functions.c: Use defined(fpclassify) instead of
1903         HAVE_FPCLASSIFY.
1904         * io/write.c (write_float): Use isfinite instead of finite.
1905         * configure, config.h.in: Rebuilt.
1906
1907 2004-11-20  Roger Sayle  <roger@eyesopen.com>
1908
1909         * io/write.c (write_float, list_formatted_write): Fix indentation.
1910
1911 2004-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
1912
1913         PR target/16135
1914         * acinclude.m4 (LIBGFOR_TARGET_ILP32): New check.
1915         * configure.ac: Include LIBGFOR_TARGET_ILP32.
1916         * configure: Regenerate.
1917         * config.h.in: Likewise.
1918         * libgfortran.h: Provide default definitions for C99 types
1919         on ILP32 targets that don't have them.
1920
1921         PR target/17999
1922         * configure.ac: Check for snprintf.
1923         * configure: Regenerate.
1924         * config.h.in: Likewise.
1925         * intrinsics/date_and_time.c (date_and_time): Do not
1926         use snprinf if it is not available.
1927         * io/write.c (output_float): Likewise.
1928
1929 2004-11-20  Steven G. Kargl  <kargls@comcast.net>
1930
1931         * Makefile.am: Add intrinsics/{umask.c,unlink.c,exit.c}
1932         * Makefile.in: Regenerated
1933         * intrinsics/umask.c: New file
1934         * intrinsics/unlink.c: ditto
1935         * intrinsics/exit.c: ditto
1936
1937 2004-11-18  Victor Leikehman  <lei@il.ibm.com>
1938
1939         * m4/matmul.m4: Loops reordered to improve cache behavior.
1940         * generated/matmul_??.c: Regenerated.
1941
1942 2004-11-10  Paul Brook  <paul@codesourcery.com>
1943
1944         PR fortran/18218
1945         * configure.ac: Check for strtof.
1946         * configure: Regenerate.
1947         * config.h.in: Regenerate.
1948         * io/read.c (convert_real): Use strtof if available.
1949         (convert_precision_real): Remove.
1950         (read_f): Avoid poor exponentiation algorithm.
1951
1952 2004-11-05  Andreas Schwab  <schwab@suse.de>
1953
1954         * configure.ac: Use AC_PROG_FC, FC and FCFLAGS instead of
1955         AC_PROG_F77, F77 and FFLAGS.
1956         * Makefile.am (selected_int_kind.inc, selected_real_kind.inc): Use
1957         FCCOMPILE instead of F77COMPILE.
1958         * configure, Makefile.in: Regenerate.
1959
1960 2004-11-05  Kelley Cook  <kcook@gcc.gnu.org>
1961
1962         * acinclude.m4: Properly quote AC_CACHE_CHECK.
1963         * Makefile.am: Add in ACLOCAL_AMFLAGS.
1964         * aclocal.m4, configure, Makefile.in: Regenerate.
1965
1966 2004-10-30  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1967
1968         * config.h.in: Regenerate.
1969         * configure: Regenerate.
1970         * configure.ac (AC_CHECK_FUNCS): Add mkstemp.
1971         * io/unix.c (S_IRGRP): Define if undefined.
1972         (S_IWGRP): Same.
1973         (S_IROTH): Same.
1974         (S_IWOTH): Same.
1975         (tempfile): Use mktemp if mkstemp missing, fix typos.
1976
1977 2004-10-30  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1978
1979         *  intrinsics/system.c ("libgfortran.h"): Move after system headers.
1980
1981 2004-10-30  Canqun Yang  <canqun@nudt.edu.cn>
1982
1983         * intrinsics/rand.c (irand): Handle NULL argument.
1984
1985 2004-10-07  Paul Brook  <paul@codesourcery.com>
1986
1987         * io/transfer.c (finalize_transfer): Free internal streams.
1988         * io/unix.c (mem_close): Free stream object.
1989
1990 2004-10-07  Paul Brook  <paul@codesourcery.com>
1991
1992         * intrinsics/string_intrinsics.c (string_verify): Fix off by one
1993         error.
1994
1995 2004-10-06  Paul Brook  <paul@codesourcery.com>
1996
1997         PR libfortran/17709
1998         * io/transfer.c (data_transfer_init): Reset sf_seen_eor.
1999
2000 2004-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
2001
2002         * intrinsics/mvbits.c: Commit the file.
2003
2004 2004-10-04  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2005
2006         PR fortran/17283
2007         * intrinsics/pack_generic.c (__pack): Allocate memory for return array
2008         if not done by caller.
2009         (__pack_s): New function.
2010         * runtime/memory.c (internal_malloc, internal_malloc64): Allow
2011         allocating zero memory.
2012
2013         PR fortran/17631
2014         * Makefile.am (gfor_helper_src): Add intrinsics/mvbits.h.
2015         * Makefile.in: Regenerate.
2016         * intrinsics/mvbits.h: New file.
2017
2018         PR fortran/17776
2019         * intrinsics/system.c: New file.
2020         * Makefile.am: Add dependency for the new file.
2021         * Makefile.in: Regenerate.
2022
2023 2004-10-04  Paul Brook  <paul@codesourcery.com>
2024         Bud Davis  <bdavis9659@comcast.net>
2025
2026         PR fortran/17706
2027         PR fortran/16434
2028         * io/format.c (parse_format_list): Set repeat count for S, SP, SS,
2029         BN and BZ formats.
2030         * io/write.c (output_float): Don't output minus zero.
2031
2032 2004-10-03  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2033
2034         * intrinsics/abort.c ("libgfortran.h"): Move.
2035         * intrinsics/date_and_time.c ("libgfortran.h"): Same.
2036         * intrinsics/write.c ("libgfortran.h"): Same.
2037
2038 2004-09-26  Tobias Schlueter  <tobis.schlueter@physik.uni-muenchen.de>
2039
2040         PR libfortran/16137
2041         * config.h.in (HAVE_POWF): Undefine.
2042         * configure.ac: Check for 'powf' in library.
2043         * configure: Regenerate.
2044         * intrinsics/c99_functions.c (powf): New function.
2045
2046 2004-09-24  Tobias Schlueter  <tobis.schlueter@physik.uni-muenchen.de>
2047
2048         * intrinsics/etime.c (etime_): New function.
2049
2050 2004-09-21  Steven G. Kargl  <kargls@comcast.net>
2051
2052         * libgfortran.h: define gfc_alloca()
2053         * intrinsics/env.c (getenv, get_environment_variable_i4): Use it.
2054
2055 2004-09-21  Bud Davis  <bdavis9659@comcast.net>
2056
2057         PR fortran/17286
2058         * io/list_read.c (namelist_read): ignore spaces after
2059         the '=' for namelist reads.
2060
2061 2004-09-15  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2062
2063         * config.h.in: Regenerate.
2064         * configure: Regenerate.
2065         * configure.ac (AC_CHECK_HEADERS): Check for sys/mman.h.
2066         * unix.c: Include stdio.h.
2067         (HAVE_SYS_MMAN_H): Check.
2068         (PROT_READ, PROT_WRITE): Provide default definitions.
2069
2070 2004-09-15  Steven G. Kargl  <kargls@comcast.net>
2071
2072         * intrincics/getcwd.c: New file.
2073         * Makefile.am: Add getcwd.c.
2074         * Makefile.in: Regenerated.
2075
2076 2004-09-15  Steven G. Kargl  <kargls@comcast.net>
2077         Paul Brook  <paul@codesourcery.com>
2078
2079         * intrinsics/env.c (getenv, get_environmental_variable): Remove
2080         trailing white space.  Use alloca.  Honour trim_name.
2081
2082 2004-09-13  Bud Davis  <bdavis9659@comcast.net>
2083
2084         PR fortran/17090
2085
2086         * io/list_read.c (list_formatted_read): Handle trailing spaces
2087         at end of line.
2088
2089 2004-09-06  Steven G. Kargl  <kargls@comcast.net>
2090
2091         * io/write.c (output_float): Typo in comment.  Remove debugging
2092         printf.  Fix format for FP of form 1e10.
2093
2094 2004-09-03  Richard Henderson  <rth@redhat.com>
2095
2096         * intrinsics/cshift0.c (DEF_COPY_LOOP, copy_loop_int, copy_loop_long,
2097         copy_loop_double, copy_loop_ldouble): New.
2098         (__cshift0): Make shift type ssize_t.  Use % operator instead of
2099         div.  Use specialized versions of copy loop depending on the shape.
2100
2101 2004-09-02  Paul Brook  <paul@codesourcery.com>
2102
2103         * io/format.c (parse_format_list): Set repeat count for P descriptors.
2104         * write.c (output_float): Fix condition.  Correctly handle nonzero
2105         scale factor.
2106
2107 2004-09-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
2108
2109         * mk-sik-inc.sh: Use a temporary string instead of 'echo -n'.
2110         * mk-srk-inc.sh: Likewise.
2111
2112 2004-09-01  Paul Brook  <paul@codesourcery.com>
2113
2114         * runtime/error.c (generate_error): Set both iostat and
2115         library_return.
2116
2117 2004-08-31  Paul Brook  <paul@codesourcery.com>
2118
2119         PR libfortran/16805
2120         * io/list_read.c (next_char): Don't signal EOF for internal files.
2121         * io/unix.c (mem_alloc_r_at): Don't return NULL for incomplete reads.
2122
2123 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2124
2125         * io/unit.c: Separate copyright years by ','.
2126         (compare, insert_unit, delete_unit, is_internal_unit, close_units):
2127         Remove blank line in beginning of function.
2128         (get_unit): Simplify code.
2129
2130 2004-08-31  Paul Brook  <paul@codesourcery.com>
2131
2132         * io/unit.c (get_unit): Remove superfluous if.
2133
2134 2004-08-31  Paul Brook  <paul@codesourcery.com>
2135
2136         * io/transfer.c (read_sf): Rename uinty to readlen.  Detect EOF.
2137         (finalize_transfer): Move setjmp after namlist IO.
2138         * io/unix.c (mem_alloc_r_at): Calculate remaining length correctly.
2139
2140 2004-08-31  Paul Brook  <paul@codesourcery.com>
2141
2142         * list_read.c (eat_separator): Set at_eo when a '/' is seen.
2143
2144 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2145
2146         * libgfortran.h: Replace 'gfc_strlen_type' by
2147         'gfc_charlen_type'. Update comment accordingly.
2148         * intrinsics/args.c, intrinsics/env.c, io/io.h, io/transfer.c:
2149         Replace all occurences of 'gfc_strlen_type' by 'gfc_charlen_type'.
2150
2151 2004-08-31  Paul Brook  <paul@codesourcery.com>
2152
2153         * libgfortran.h: Add comments.
2154
2155 2004-08-30  Richard Henderson  <rth@redhat.com>
2156
2157         * Makefile.am (gfor_helper_src): Split selected_kind.f90.
2158         (gfor_built_src): Add selected_int_kind.inc selected_real_kind.inc.
2159         (selected_int_kind.inc selected_real_kind.inc): New rules.
2160         * Makefile.in: Regenerate.
2161         * mk-sik-inc.sh, mk-srk-inc.sh: New files.
2162         * intrinsics/selected_int_kind.f90: Split from selected_kind.f90,
2163         include table of detected kinds.
2164         * intrinsics/selected_real_kind.f90: Similarly.
2165
2166 2004-08-29  Steven G. Kargl  <kargls@comcast.net>
2167         Paul Brook  <paul@codesourcery.com>
2168
2169         * intrinsics/bessel.c: New file.
2170         * intrinsics/erf.c: New file.
2171         * Makefie.am: Add intrinsics/bessel.c and intrinsics/erf.c.
2172         * configure.ac: Test for C99 Bessel and Error functions.
2173         * Makefile.in: Regenerate.
2174         * config.h.in: Regenerate.
2175         * configure: Regenerate.
2176
2177 2004-08-29  Steven G. Kargl  <kargls@comcast.net>
2178         Paul Brook  <paul@codesourcery.com>
2179
2180         * Makefile.am: Add intrinsics/getXid.c.
2181         * configure.ac: Add tests for get{g,p,u}id.
2182         * config.h.in: Regenerate.
2183         * Makefile.in: Regenerate.
2184         * configure: Regenerate.
2185
2186 2004-08-28  Paul Brook  <paul@codesourcery.com>
2187
2188         PR libfortran/17195
2189         * libgfortran.h (rtoa): Remove prototype.
2190         * runtime/error.c (rtoa): Remove.
2191         * io/write.c (calculate_G_format): Don't add blanks if E format is
2192         used.  Add correct number of blanks when exponent width is specified.
2193         (output_float): Rewrite.
2194
2195 2004-08-27  Paul Brook  <paul@codesourcery.com>
2196
2197         * io/rewind.c (st_rewind): Reset unit to read mode.
2198
2199 2004-08-27  Bud Davis  <bdavis9659@comcast.net>
2200
2201         PR fortran/16597
2202         * io/io.h: created typedef for unit_mode.
2203         * io/io.h (gfc_unit): added mode to unit structure.
2204         * io/transfer.c (data_transfer_init): flush if a write then
2205         read is done on a unit (direct access files).
2206         * io/rewind.c (st_rewind): Used unit mode instead of global.
2207
2208 2004-08-24  Bud Davis  <bdavis9659@comcast.net>
2209
2210         PR fortran/17143
2211         * runtime/error.c (itoa): keep from overflowing during
2212         mod operation by using unsigned variable.
2213
2214 2004-08-24  Bud Davis  <bdavis9659@comcast.net>
2215
2216         PR fortran/17164
2217         * runtime/string_intrinsics.c (string_index):check for
2218         substring longer than string.
2219
2220 2004-08-24  David Edelsohn  <edelsohn@gnu.org>
2221
2222         * Makefile.am (libgfortran_la_LDFLAGS): Add -lm.
2223         * Makefile.in: Rebuilt.
2224
2225 2004-08-23  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2226
2227         * io/io.h, io/list_read.c, io/open.c, io/transfer.c, io/write.c:
2228         Fix formatting issues, update copyright years.
2229
2230 2004-08-21  Bud Davis  <bdavis9659@comcast.net>
2231
2232         PR 16908
2233         * io/transfer.c (next_record_w): Do not blank pad.
2234         * io/transfer.c (next_record): Take into account partial records.
2235
2236 2004-08-18  Victor Leikehman  <lei@il.ibm.com>
2237
2238         PR fortran/13278
2239         * io/transfer.c (st_set_nml_var)
2240         * io/write.c (namelist_write): Allow var_name and var_name_len to be
2241         null. For strings, use string_length field instead of len.
2242         * io/io.h (struct namelist_type): New field string_length.
2243         (st_set_nml_var_char): New argument string_length.
2244
2245 2004-08-13  Bud Davis  <bdavis9659@comcast.net>
2246
2247         PR gfortran/16935
2248         * io/open.c (st_open): use flags instead of the unit structure.
2249
2250 2004-08-10  Victor Leikehman  <lei@il.ibm.com>
2251
2252         * io/list_read.c (namelist_read): Convert variable names
2253         to lower case, so that mixed-case names are recognized.
2254         Don't read beyond terminating slash.
2255
2256 2004-08-09  Richard Henderson  <rth@redhat.com>
2257             Roger Sayle  <roger@eyesopen.com>
2258
2259         * intrinsics/c99_functions.c (nextafterf): New implementation that
2260         works correctly with denormalized numbers.
2261
2262 2004-08-09  Victor Leikehman  <lei@il.ibm.com>
2263
2264         * m4/matmul.m4, m4/matmull.m4, intrinsics/eoshift0.c,
2265         intrinsics/eoshift2.c, intrinsics/transpose_generic.c:
2266         Allocate space if return value has NULL in its data field.
2267         * generated/*.c: Regenerate.
2268
2269 2004-08-06  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2270
2271         * intrinsics/env.c: New file.
2272         * Makefile.am: Add env.c to build.
2273         * Makefile.in: Regenerate.
2274
2275 2004-08-05  Victor Leikehman  <lei@il.ibm.com>
2276
2277         PR libgfortran/16704
2278         * io/read.c (read_radix): Understand letters f and F as hex digits.
2279
2280 2004-08-04  Victor Leikehman  <lei@il.ibm.com>
2281
2282         * libgfortran.h (array_t, size0) New declarations.
2283         * m4/ifunction.m4, m4/transpose.m4, intrinsics/cshift0.c: Allocate
2284         space if return value descriptor has NULL in its data field,
2285         and initialize bounds and stride.
2286         * intrinsics/size.c (array_t, size0): Declarations moved to
2287         libgfortran.h.
2288         * generated/*.c: Regenerate.
2289
2290 2004-08-03  Roger Sayle  <roger@eyesopen.com>
2291
2292         PR libgfortran/16137
2293         * configure.ac: Add tests for acosf, asinf, atan2f, atanf, ceilf,
2294         copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
2295         scalbnf, sinf, sinhf, sqrtf, tanf and tanhf in libm.
2296         * config.h.in: Regenerate.
2297         * configure: Regenerate.
2298
2299         * instrinsics/c99_functions.c (acosf, asinf, atan2f, atanf, ceilf,
2300         copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
2301         nextafterf, scalbnf, sinf, sinhf, sqrtf, tanf, tanhf): New stub
2302         implementations for targets that don't support C99 float functions.
2303
2304 2004-08-01  Roger Sayle  <roger@eyesopen.com>
2305
2306         * io/write.c (write_float): Use the slightly more portable isnan
2307         in preference to isinf.
2308
2309 2004-07-18  Bud Davis  <bdavis9659@comcast.net>
2310
2311         * configure.ac: Add check for LFS support.
2312         * configure: Regenerate
2313
2314 2004-07-11  Paul Brook  <paul@codesourcery.com>
2315
2316         PR fortran/16303
2317         * m4/cexp.m4 (carg): Return -pi to pi.
2318         * generated/exp_c?.c: Regenerate.
2319
2320 2004-07-08  Andreas Krebbel  <krebbel1@de.ibm.com>
2321
2322         PR fortran/16291
2323         * libgfortran/io/write.c: (write_float): Added length check.
2324         Remove pointless memset calls.
2325
2326 2004-07-04  Bud Davis  <bdavis9659@comcast.net>
2327             Paul Brook  <paul@codesourcery.com>
2328
2329         PR fortran/15472
2330         * io/transfer.c(us_write): set recl for seq unform writes to max size.
2331         * io/transfer.c(data_transfer_init): handle un-opened seq unform unit.
2332         * io/unix.c(fd_alloc_w_at): handle requests at start, fd_flush at
2333         right time.
2334         * io/unix.c(is_seekable): set based upon the file/device, not the
2335         method being used to access it (fd or mmap).
2336         * io/unix.c(fd_flush): don't set file_size if !seekable.
2337         * io/unix.c(fd_truncate: ditto.
2338
2339 2004-07-04  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2340         Paul Brook  <paul@codesourcery.com>
2341
2342         PR fortran/15280
2343         PR fortran/15665
2344         * libgfortran.h (gfc_strlen_type): Define.
2345         * intrinsics/args.c (getarg): Rename ...
2346         (getarg_i4): ... to this.
2347         (getarg_i8, get_command_argument_i4, get_command_argument_i8,
2348         get_command_i4, get_command_i8): New functions.
2349
2350 2004-07-04  Matthias Klose  <doko@debian.org>
2351
2352         * libtool-version: New.
2353         * Makefile.am (libgfortran_la_LDFLAGS): Use -version-info for soname.
2354         * Makefile.in: Regenerate.
2355         * configure.ac: Remove libtool_VERSION macro
2356         * configure: Regenerate
2357
2358 2004-06-30  Steve Kargl  <sgk@troutmask.apl.washington.edu>
2359             Steven Bosscher  <stevenb@suse.de>
2360
2361         * intrinsics/rand.c (rand): Wrap the irand() call from the previous
2362         commit in prefix.
2363
2364 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2365         Paul Brook  <paul@codesourcery.com>
2366
2367         * runtime/normalize.c (normalize_r4_i4, normalize_r8_i8): Fix
2368         comments.
2369         * intrinsics/rand.c (rand): Call irand() in call to normalize_r4_i4.
2370
2371 2004-06-27  Bud Davis  <bdavis9659@comcast.net>
2372
2373         PR gfortran/12839
2374         * io/write.c (write_float): check signbit for Infinity.
2375
2376 2004-06-26  Bud Davis  <bdavis9659@comcast.net>
2377
2378         PR gfortran/16196
2379         * unix.c(regular_file): create file if it does not exist.
2380
2381 2004-06-24  Andrew Pinski  <apinski@apple.com>
2382
2383         * configure.ac: Remove check for libmx.
2384         * configure: Regenerate.
2385
2386 2004-06-22  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2387
2388         PR fortran/15750
2389         * inquire.c (st_inquire): Add comment
2390         * io.h (st_parameter): Add iolength.
2391         (st_iolength, st_iolength_done): Declare.
2392         * transfer.c (iolength_transfer, iolength_transfer_init,
2393         st_iolength, st_iolength_done): New functions.
2394
2395 2004-06-21  Steven G. Kargl  <kargls@comcast.net>
2396
2397         * etime.c (etime_sub): Remove array rank check;
2398         Add check for sufficient space.
2399
2400 2004-06-19  Bud Davis  <bdavis9659@comcast.net>
2401
2402         PR gfortran/16080
2403         * io/list_read.c(set_value): fixed spelling.
2404
2405 2004-06-19  Bud Davis  <bdavis9659@comcast.net>
2406
2407         PR gfortran/16080
2408         * io/list_read.c(set_value): don't copy if the string is null.
2409
2410 2004-06-14  Bud Davis  <bdavis9659@comcast.net>
2411
2412         PR gfortran/15292
2413         * intrinsics/c99_functions.c: Use fpclassify if it exists.
2414
2415 2004-06-13  Paul Brook  <paul@codesourcery.com>
2416
2417         * Makefile.am (gfor_helper_src): Add runtime/normalize.f90.
2418         * configure.ac: Add checks for nextafter and nextafterf.
2419         * Makefile.in, config.h.in, configure: Regenerate.
2420         * libgfortran.h (normalize_r4_i4, normalize_r8_i8): Declare.
2421         * intrinsics/rand.c (rand): Use normalize_r4_i4.
2422         * intrinsics/random.c (random_r4): Use normalize_r4_i4.
2423         (random_r8): Use normalize_r8_i8.
2424         * runtime/normalize.c: New file.
2425
2426 2004-06-13  Steven G. Kargl  <kargls@comcast.net>
2427             Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2428
2429         * random.c: Fix several spelling and formatting mistakes in
2430         comments.
2431         (random_r8): Fix loop to make random numbers range in [0,1(.
2432
2433
2434 2004-06-13  Steven G. Kargl  <kargls@comcast.net>
2435
2436         * random.c (random_r4): Burn a random number.
2437         (random_r8): fix infinite loop.
2438
2439 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
2440             Steve Kargl  <sgk@troutmask.apl.washington.edu>
2441
2442         PR gfortran/15292
2443         * intrinsics/c99_functions.c: New file.
2444         * Makefile.am: Add new file.
2445         * configure.ac: Added test for round/roundf.
2446         * Makefile.in: Regenerate.
2447         * configure: Regenerate.
2448         * configure.h.in: Regenerate.
2449
2450 2004-06-12  Steven G. Kargl  <kargls@comcast.net>
2451
2452         * Makefile.am: Add rand.c and etime.c
2453         * Makefile.in: Regenerated.
2454         * aclocal.in: Regenerated.
2455         * cpu_time.c (second_sub, second): New functions.
2456         * rand.c (irand, rand, srand): New file.
2457         * etime.c (etime_sub, etime): New file.
2458
2459 2004-06-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2460             Steven Bosscher  <stevenb@suse.de>
2461
2462         PR fortran/14923
2463         * intrinsics/date_and_time.c: New file.
2464         * Makefile.am (gfor_helper_src): Add intrinsics/date_and_time.c.
2465         * Makefile.in, aclocal.m4: Regenerate.
2466         * libgfortran.h: Prototype date_and_time().
2467
2468 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
2469
2470         PR fortran/15665
2471         * intrinsics/args.c: Implement GETARG and IARGC.
2472         * Makefile.am: Add it.
2473         * Makefile.in: Regenerate.
2474
2475 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
2476
2477         PR gfortran/12839
2478         * io/write.c(write_float): Format inf and nan IAW F2003.
2479
2480 2004-06-09  Bud Davis  <bdavis9659@comcaste.net>
2481
2482         PR gfortran/14897
2483         * io/transfer.c (formatted_transfer): position is unique
2484          for T and TL edit descriptors.
2485         (data_transfer_init): set record length to size of internal
2486          file.
2487
2488 2004-06-09  Bud Davis  <bdavis9659@comcast.net>
2489
2490         PR gfortran/15755
2491         * io/backspace.c(st_backspace): call correct routine for
2492         formatted and un-formatted units.
2493
2494 2004-05-30  Andreas Jaeger  <aj@suse.de>, Steven Bosscher <stevenb@suse.de>
2495
2496         PR gfortran/11800
2497         * Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
2498         (lib_LTLIBRARIES): Rename to ...
2499         (toolexeclib_LTLIBRARIES): this for multilib support.
2500         * configure.in: Rename to ...
2501         * configure.ac: this.  Update to modern autoconf style, enable
2502         multilibs, support --enable-version-specific-runtime-libs.
2503         * Makefile.in: Regenerated.
2504         * configure: Regenerated.
2505         * aclocal.m4: Regenerated.
2506
2507 2004-05-30  Steven G. Kargl  <kargls@comcast.net>
2508
2509         * libgfortran.h (random_seed): Update prototype.
2510         * intrinsics/random.c: Disable old implementation and add new one.
2511
2512 2004-05-30  Andreas Jaeger  <aj@suse.de>
2513
2514         * intrinsics/random.c: Include unistd.h for close and read
2515         prototypes, remove unneeded inclusion of assert.h.
2516
2517         * intrinsics/abort.c: Include stdlib.h for abort prototype, remove
2518         unneeded inclusion of assert.h.
2519
2520 2004-05-27  Tobias Schlueter  <tobias.shclueter@physik.uni-muenchen.de>
2521
2522         PR fortran/15234
2523         * intrinsics/associated.c: Remove enum.
2524         (associated): Replace TRUE/FALSE by 1/0.
2525
2526 2004-05-23  Steven G. Kargl  <kargls@comcast.net>
2527
2528         * random.c (random_seed): Use correct variable.
2529
2530 2004-05-22  Steven G. Kargl  <kargls@comcast.net>
2531
2532         * intrinsics/system_clock: New file.
2533         * Makefile.am: Add intrinsics/system_clock.c.
2534         * Makefile.in: Regenerate.
2535
2536 2004-05-21  Roger Sayle  <roger@eyesopen.com>
2537
2538         * io/format.c (parse_format_list): Allow the comma after a string
2539         literal to be optional.
2540
2541 2004-05-18  Paul Brook  <paul@codesourcery.com>
2542         Feng Wang  <fengwang@nudt.edu.cn>
2543
2544         * Makefile.am (i_pow_c): Set it. Add build rule.
2545         (gfor_built_src): Use it.
2546         (m4_files): add m4/pow.m4.
2547         * Makefile.in: Regenerate.
2548         * m4/pow.m4: New file.
2549         * generated/pow_*.c: Regenerate.
2550
2551 2004-05-18  Paul Brook  <paul@codesourcery.com>
2552
2553         * Makefile.am: Remove references to types.m4.
2554         * m4/iparm.m4: Merge with types.m4.
2555         * m4/types.m4: Remove.
2556         * m4/cshift1.m4, m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4,
2557         m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4, m4/ifunction.m4,
2558         m4/in_pack.m4, m4/in_unpack.m4, m4/iparm.m4, m4/matmul.m4,
2559         m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4, m4/maxval.m4,
2560         m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/reshape.m4,
2561         m4/shape.m4, m4/specific.m4, m4/specific2.m4, m4/transpose.m4):
2562         Update to use new iparm.m4.
2563         * generated/*.c: Regenerate.
2564
2565 2004-05-18  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2566
2567         PR fortran/15235
2568         * gfortran.h (offset_t): Rename to ...
2569         (gfc_offset): ... this.
2570         * io/backspace.c (formatted_backspace, unformatted_backspace),
2571         io/io.h (stream, gfc_unit, global_t, file_length, file_position),
2572         transfer.c (us_read, us_write, next_record_r, next_record_w),
2573         io/unit.c (init_units), unix.c (unix_stream, fd_alloc,
2574         fd_alloc_r_at, fd_alloc_w_at, fd_seek, mmap_alloc,
2575         mmap_alloc_r_at, mmap_alloc_w_at, mmap_seek, mem_alloc_r_at,
2576         mem_alloc_w_at, mem_seek, file_length, file_position): Replace all
2577         occurences of offset_t by gfc_offset.
2578
2579 2004-05-16  Paul Brook  <paul@codesourcery.com>
2580
2581         * io/format.c (write_real): Don't include padding in format.
2582
2583 2004-05-16  Paul Brook  <paul@codesourcery.com>
2584
2585         * io/format.c (format_lex): Make c an int.
2586
2587 2004-05-16  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2588         Paul Brook  <paul@codesourcery.com>
2589
2590         * io/write.c (write_logical): Don't print extra blank.
2591         (write_integer): Base field width on kind.
2592         (list_formatted_write): Output initial blank.
2593
2594 2004-05-16  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2595
2596         * io/io.h (flush): Add prototype.
2597         * io/transfer.c (finalize_transfer): Flush partial records.
2598         * io/unix.c (flush): New function.
2599
2600 2004-05-15  Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2601
2602         PR fortran/15234
2603         * io/io.h (unit_t): Rename to ...
2604         (gfc_unit) ... this.
2605         (unit_root, current_unit, find_file, find_unit, get_unit): Now
2606         of type gfc_unit.
2607         (delete_file, insert_unit, close_unit): Argument now of type
2608         gfc_unit.
2609         * backspace.c (st_backspace), close.c (st_close), endfile.c
2610         (st_endfile), inquire.c (inquire_via_unit, st_inquire), open.c
2611         (test_endfile, edit_modes, new_unit, already_open, st_open),
2612         rewind.c (st_rewind), transfer.c (current_unit), unit.c
2613         (internal_unit, unit_cache, rotate_left, rotate_right, insert,
2614         insert_unit, delete_root, delete_treap, delete_unit, find_unit,
2615         get_unit, init_units, close_unit), unix.c (find_file0,
2616         find_file, delete_file): Replace all occurences of unit_t by
2617         gfc_unit.
2618
2619 2004-05-15  Bud Davis  <bdavis9659@comcast.net>
2620
2621         PR fortran/15311
2622         * io/write.c (write_a): right justify A edit output.
2623
2624 2004-05-14  Bud Davis  <bdavis9659@comcast.net>
2625
2626         PR fortran/15149
2627         * libgfortan.h,intrinsics/random.c: Made random_seed visible.
2628         * runtime/main.c(init): Call random_seed as part of MAIN init.
2629
2630 2004-05-13  Tobias Schlter  <tobias.schlueter@physik.uni-muenchen.de>
2631
2632         * io/format.c: (parse_format_list): No comma is required after
2633         P descriptor.
2634
2635 2004-05-13  Bud Davis  <bdavis9659@comcast.net>
2636
2637         PR fortran/15204
2638         * io/intrinsic/string_intrinsics.c (adjustr): rework logic.
2639
2640 2004-05-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2641             Steven Bosscher  <stevenb@suse.de>
2642
2643         PR libfortran/15234
2644         * libgfortran.h: Include <inttypes.h> if available.
2645
2646 2004-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2647
2648         * io/unix.c (MAP_FAILED): Define if missing.
2649         (mmap_alloc): Cast MAP_FAILED to char *.
2650         (mmap_open): Likewise.
2651
2652 2004-04-26  Bud Davis  <bdavis9659@comcast.net>
2653
2654         * generated/_abs_i8.f90: New file.
2655         * generated/_abs_c4.f90: New file.
2656         * generated/_abs_c8.f90: New file.
2657         * Makefile.am: Add them.
2658         * Makefile.in: Regenerate.
2659 `
2660 2004-04-26  Bud Davis  <bdavis9659@comcast.net>
2661
2662         PR fortran/14056
2663         * generated/_abs_i4.f90: New file.
2664         * Makefile.am: Add it.
2665         * Makefile.in: Regenerate.
2666
2667 2004-04-25  Bud Davis  <bdavis9659@comcast.net>
2668
2669         PR fortran/14942
2670         * io/list_read.c(list_formatted_read): finish consuming the
2671         spaces and seperators at eoln to get ready for next item.
2672
2673 2004-04-23  Bud Davis  <bdavis9659@comcast.net>
2674
2675         PR fortran/15113
2676         * io/read.c(read_a): Handle field width > destination and no field width.
2677
2678 2004-04-22  Bud Davis  <bdavis9659@comcast.net>
2679
2680         PR fortran/14906
2681         * io/format.c (format_item): gracefully handle a ')'
2682         when it is the first character encountered in the string.
2683
2684 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
2685
2686         PR fortran/14904
2687         * io/transfer.c (next_record): Update last_record when
2688         more than one record is written to a direct access file
2689         with one write statement.
2690
2691 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
2692
2693         PR fortran/14901
2694         * io/transfer.c (next_record_w) : No '\n' if internal.
2695         * io/unix.c (empty_internal_buffer) : Init to spaces, not '\n'.
2696
2697 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
2698
2699         * io.h (ioparm): Interface from FE is 32 bit, irregardless of offset_t.
2700         Will need to change this later to support direct access files > 2gb.
2701
2702 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
2703
2704         PR gfortran/14762
2705         * io/transfer.c (next_record_r) : Skip to next record.
2706
2707 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
2708
2709         PR gfortran/14836
2710         * io/transfer.c (next_record): Update last_record for DIRECT
2711
2712 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
2713
2714         PR gfortran/14837
2715         * io/unix.c (find_file0): Use fd field of struct
2716
2717 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
2718
2719         PR 14831
2720         * io/inquire.c (inquire_via_unit): Changed return string for
2721         BLANK=NULL. Use correct variable for ACTION.
2722
2723 2004-04-01  Bud Davis  <bdavis9659@comcast.net>
2724
2725         PR 14746
2726         * io/read.c (read_f): Allow a decimal without a leading digit.
2727         * io/write.c (output_float): remove a leading '0' to keep from
2728         overflowing the field (F edit descriptor).
2729
2730 2004-04-01  Bud Davis  <bdavis9659@comcast.net>
2731
2732         PR gfortran/14565
2733         * io/open.c (new_unit),
2734         * io/io.h : new_unit is now visible
2735         * io/transfer.c (data_transfer_init): open unit if no OPEN statement.
2736         * io/transfer.c (data_transfer_init): remove compile warnings.
2737         * io/rewind.c (st_rewind): ftruncate if writing.
2738
2739 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
2740
2741         * write.c (write_l): Use extract_int for 'L' edit descriptor.
2742
2743 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
2744
2745         PR 13919
2746         * io/io.h (global_t):
2747         * io/list_read.c (next_char,list_formatted_read,ist_formatted_read):
2748           Move eof_jmp to a global structure.
2749         * io/transfer.c(finalize_transfer) : Set up eof_jump for callers.
2750
2751 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
2752
2753         * m4/cexp.m4 (csqrt): Actually use the passed value.
2754         * generated/exp_c?.c: Regenerate.
2755
2756 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
2757
2758         PR 12921
2759         * io.h, transfer.c, open.c : recl_in changed from ptr to variable.
2760         * open.c (new_unit): Moved test for positioned direct access error.
2761         (init_units): Corrected calculation of max records.
2762
2763 2004-02-06  Feng Wang  <fengwang@nudt.edu.cn>
2764
2765         * Makefile.am: Add m4/dotprodc.m4. And fix spelling.
2766         * Makefile.in: Regenerate.
2767         * m4/dotprodc.m4: New file. Implement complex dot_product.
2768         * m4/dotprod.m4: Delete the complex implementation.
2769         * generated/dotprod_*: Update.
2770
2771 2004-02-07  Bud Davis  <bdavis9659@comcast.net>
2772
2773         * transfer.c (write_constant_string): Do not delete H's in hollerith
2774         formats.
2775
2776 2004-01-05  Andrew Pinski  <apinski@apple.com>
2777
2778         * configure.in: Check for csin in -lmx also.
2779         * configure: Regenerate.
2780
2781 2004-01-01  Paul Brook  <paul@codesourcery.com>
2782
2783         * io/list_read.c (find_nml_node): Make static.
2784         (match_namelist_name): Ditto.
2785         * io/read.c (convert_precision_real): Make static, fix spelling.
2786         * io/transfer.c (extract_real): Remove unused prototype.
2787         (st_set_nml_var): Make static.
2788         * io/write.c (extract_real): Make static.
2789
2790 2003-12-12  Huang Chun <chunhuang73@hotmal.com>
2791
2792         * intrinsics/string_intrinsics.c (string_index): Fix logics thinko.
2793
2794 2003-12-05  Melvin Hadasht  <melvin.hadasht@free.fr>
2795
2796         * io/transfer.c (data_transfer_init): Give a runtime error for list
2797         formatted reads and writes from/to files opened for unformatted IO.
2798
2799 2003-11-30  Paul Brook  <paul@nowt.org>
2800
2801         * runtime/memory.c (push_context): Remove.
2802         (pop_context): Remove.
2803         * libgfortran.h: Remove prototypes.
2804
2805 2003-11-27  Paul Brook  <paul@nowt.org>
2806
2807         * runtime/memory.c (deallocate): Nullify pointer after freeing.
2808
2809 2003-11-27  Paul Brook  <paul@nowt.org>
2810
2811         * intrinsics/string_intrinsics.c: Use new memory allocation interface.
2812         * libgfortran.h: Ditto.
2813         * m4/in_pack.m4: Ditto.
2814         * runtime/in_pack_generic.c: Ditto.
2815         * runtime/memory.c: Ditto.
2816
2817 2003-11-26  Richard Henderson  <rth@redhat.com>
2818
2819         * m4/exponent.m4, m4/fraction.m4: New.
2820         * m4/nearest.m4, m4/set_exponent.m4: New.
2821         * generated/*: Update.
2822         * Makefile.am: Add them.
2823         (AM_CFLAGS): New.  Use -std=gnu99.
2824         * Makefile.in: Regenerate.
2825
2826 2003-11-08  Paul Brook  <paul@nowt.org>
2827
2828         PR fortran/12704
2829         * m4/maxloc0.m4: Use default value of 1. Handle zero sized arrays.
2830         * m4/maxloc1.m4: Ditto.
2831         * m4/minloc0.m4: Ditto.
2832         * m4/minloc1.m4: Ditto.
2833         * m4/ifunction.m4: Set return value for zero sized arrays.
2834         * m4/iforeach.m4: Ditto.
2835         * m4/all.m4, m4/any.m4, m4/count.m4, m4/maxloc1.m4, m4/minloc1.m4,
2836         m4/mxaval.m4, m4/minval.m4, m4/product.m4, m4/sum.m4: Ditto.
2837         * generated/*: Update.
2838
2839 2003-10-30  Toon Moene  <toon@moene.indiv.nluug.nl>
2840
2841         PR fortran/12702
2842         * io/list_read.c (eat_spaces): Treat tab as space.
2843
2844 2003-10-30  Lars Segerlund  <Lars.Segerlund@comsys.se>
2845
2846         * intrinsics/random.c: Add reference to paper containing algorithm.
2847         (random_seed): Extra error checking and proper handling of arrays.
2848         (arandom_r4, arandom_r8): Implement.
2849
2850 2003-10-29  Toon Moene  <toon@moene.indiv.nluug.nl>
2851
2852         PR fortran/12703
2853         * runtime/memory.c (allocate_size): Allow allocation
2854         of zero-sized objects.
2855
2856 2003-10-29  Toon Moene  <toon@moene.indiv.nluug.nl>
2857
2858         PR fortran/12701
2859         * open.c (new_unit): Open without a file name opens
2860         a file with name fort.<unit>.
2861
2862 2003-10-12  Feng Wang  <wf_cs@yahoo.com>
2863
2864         * intrinsics/cshift0.c: New file.
2865         * m4/cshift1.m4: New file
2866         * generated/cshift*.c: New files.
2867         * Makefile.am: Add them.
2868         * Makefile.in: Regenerate.
2869
2870 2003-10-12  XiaoQiang Zhang  <zhangapache@yahoo.com>
2871
2872         * io/list_read.c (read_character): Remove unwanted call to free_saved.
2873
2874 2003-10-11  Huang Chun  <jiwang@mail.edu.cn>
2875
2876         * intrinsics/string_intrinsics.c (string_trim): New function.
2877         (string_repeat): New function.
2878
2879 2003-10-11  Paul Brook  <paul@nowt.org>
2880
2881         * intrinsics/dprod_r8.f90: New file.
2882         * Makefile.am (gfor_specific_src): Add it.
2883         (gfor_built_specific_src): Rename from gfor_build_specific_c.
2884         Add new intrinsics.
2885         (gfor_specific2_src): Rename from gfor_built_specific2_c.
2886         Add new intrinsics.
2887         * Makefile.in: Regenerate.
2888         * generated/_aint_*.f90: New files.
2889         * generated/_anint*.f90: New files.
2890         * generated/_atan2*.f90: New files.
2891         * generated/_mod*.f90: New files.
2892
2893 2003-09-20  Kejia Zhao  <kejia_zh@yahoo.com.cn>
2894
2895         * intrinsics/selected_kind.f90: New file.
2896         * Makefile.am: Add it.
2897         * Makefile.in: regenerate.
2898
2899 2003-09-19  Lars Segerlund  <Lars.Segerlund@comsys.se>
2900         Paul Brook  <paul@nowt.org>
2901
2902         * intrinsics/random.c: New file.
2903         * Makefile.am (gfor_hemper_src): Add it.
2904         (gfor_specific_c): Fix typo.
2905
2906 2003-09-19  Paul Brook  <paul@nowt.org>
2907
2908         * All: rename g95->gfc.
2909
2910 2003-09-18  XiaoQiang Zhang  <zhangapache@yahoo.com>
2911
2912         * io/write.c (output_float): Fix bug of FMT_E, Add comments.
2913
2914 2003-09-09  XiaoQiang Zhang  <zhangapache@yahoo.com>
2915
2916         * io/write.c (write_float): Dectection of positive infinite number,
2917         Not a Number(NaN) and negative infinite number.
2918         (ioutput_float): Bug fix for FMT_E and FMT_D processing to
2919         output a very_very small number ( < 0.1e-100 ).
2920
2921 2003-09-07  XiaoQiang Zhang  <zhangapache@yahoo.com>
2922
2923         * libgfortran.h (xtoa, itoa): Parameter modified.
2924         * io/io.h (namelist_info): Declaration to support namelist I/O
2925         (st_parameter): Add namelist related component
2926         (ionml, empty_internal_buffer, st_set_nml_var_int,
2927         st_set_nml_var_float, st_set_nml_var_char, st_set_nml_var_complex,
2928         st_set_nml_var_log): Declaration
2929         (set_integer, set_integer): Parameter changed
2930         * io/format.c (free_nodes): Fix annoying bug of lefting "deallocated"
2931          fnodes
2932         (parse_format_list): Fix bug about FMT_SLASH
2933         * io/list_read.c (push_char): Totally clear old saved_string, zeroize
2934         newly allocated saved_string
2935         (next_char): Add detection of End_Of_Line support
2936         (convert_integer): Now can process 64 bits interger
2937         (read_real): Bug fixed
2938         (init_at_eol, find_nml_node, match_namelist_name): Add new functions
2939         (match_namelist_name): New implemention
2940         * io/lock.c (ionml): New global variable
2941         (library_end): Free memory in ionml
2942         * io/open.c (st_open): Variable initializtion
2943         * io/read.c (max_value): 64 bits interger support
2944         (convert_precsion_real): New procedure to replace "strtod" with more
2945          features
2946         (read_f, read_radix): Input bug fix
2947         * io/transfer.c: (sf_seen_eor): New static variable
2948         (read_sf): Zeroize base buffer; fix bugs: single read statement can
2949         not get input in mutli line when read from stdin
2950         (formatted_transfer): Fix bug of FMT_O, FMT_B, FMT_Z for INTEGER type
2951          request
2952         (data_transfer_init): Clear internal buffer for Internel File I/O.
2953         Internal File now worked. Detect some error condition for namelist.
2954         Some minor bug fix
2955         (next_record_w): Internal file and Namelist I/O support.
2956         (st_set_nml_var, st_set_nml_var_float, st_set_nml_var_char,
2957         st_set_nml_var_complex, st_set_nml_var_log): Implemention.
2958         * io/unit.c (implicit_unit): Deletion
2959         (get_unit): Now cannot open a unit implicitly.
2960         * io/unix.c (mmap_alloc): Fix fatal error in calculating the length of
2961         mapped buffer.
2962         (mem_alloc_r_at): Internal file I/O support added
2963         (empty_internal_buffer): New function
2964         * io/write.c (extract_int): Support 64 bits interger processing
2965         (output_float): Varibale initialization
2966         (write_float): Infinite real number detection.
2967         (write_int): 64 bits integer I/O support
2968         (write_decimal): New function to output decimal number
2969         (otoa, btoa): Better implemention and 64 bits interger support
2970         (namelist_write): New function
2971         * runtime/error.c (itoa, xtoa): Better implemention and 64 bits
2972         interger support
2973
2974 2003-08-15  Arnaud Desitter  <arnaud.desitter@geography.oxford.ac.uk>
2975
2976         * libgfortran.h (os_error, runtime_error,internal_error, sys_exit,
2977         get_mem ): Add attribute.
2978         * intrinsics/spread_generic.c (__spread): Fix spelling.
2979         * io/inquire.c (inquire_via_filename): Add const.
2980         * io/io.h (sys_exit): Add attribute.
2981         * io/io.h (move_pos_offset): Add move_pos_offset.
2982         * io/io.h (compare_file_filename, inquire_sequential, inquire_direct,
2983         inquire_formatted, inquire_unformatted, inquire_read, inquire_write,
2984         inquire_readwrite, convert_real, write_a, write_b, write_d, write_e,
2985         write_en, write_es, write_f, write_i, write_l, write_o, write_x,
2986         write_z): Add const.
2987         * io/read.c (convert_real): Add const.
2988         * io/transfer.c (type_name): Add const.
2989         * io/unix.c (unpack_filename, compare_file_filename,inquire_sequential,
2990         inquire_direct, inquire_formatted, inquire_unformatted, inquire_access,
2991         inquire_read, inquire_write, inquire_readwrite): Add const.
2992         * io/write.c (output_float): Remove unused variable.
2993         * io/write.c (write_a, extract_int, extract_real, output_float,
2994         write_float, write_int, write_i, write_b, write_o, write_z, write_d,
2995         write_e, write_f, write_en, write_es, write_logical, write_integer,
2996         write_character, write_real, write_complex): Add const.
2997         * runtime/error.c (rtoa): Remove unused variable.
2998         * runtime/select.c (select_string): Add const.
2999         * runtime/stop.c (stop_string): Add const.
3000
3001 2003-08-10  Paul Brook  <paul@nowt.org>
3002
3003         * Makefile.am (gfor_helper_src): Add intrinsics/abort.c.
3004         (FFLAGS): Add -fno-underscoring.
3005         * Makefile.in: Regenerate.
3006         * intrinsics/abort.c: New file.
3007
3008 2003-08-10  Erik Schnetter  <schnetter@uni-tuebingen.de>
3009
3010         * fmain.c (main): Do not call init and cleanup; call set_args instead.
3011         * libgfortran.h (init, cleanup): Remove declarations.
3012         (set_args): Add declaration.
3013         * runtime/main.c (init, cleanup): Make them static, and give them
3014         the constructor and destructor attributes.
3015         (set_args): New function.
3016
3017 2003-08-10  Paul Brook  <paul@nowt.org>
3018
3019         * intrinsics/strinf_intrinsics.c (compare_string): Return value based
3020         on which string is longest.
3021
3022 2003-08-10  Paul Brook  <paul@nowt.org>
3023
3024         * Makefile.am (EXTRA_DIST): Remove old files.
3025         * Makefile.in: Regenerate.
3026
3027 2003-07-26  Paul Brook  <paul@nowt.org>
3028
3029         Rename library to libgfortran.
3030         * libgfortran.h: Change prefix to _libgfortran_.
3031
3032 2003-07-24  Paul Brook  <paul@nowt.org>
3033
3034         * configure.in: Don't pull in system libtool.  Use toplevel
3035         auxiliary files.
3036
3037 2003-07-22  Paul Brook  <paul@nowt.org>
3038
3039         Regenerate all configury files.
3040
3041 2003-07-09  Chun Huang  <compiler@sohu.com>
3042
3043         * intrinsics/string_intrinsic.c (string_scan): New function.
3044         (string_verify): New function.
3045
3046 2003-06-25  Paul Brook  <paul@nowt.org>
3047
3048         * io/unix.c (mem_alloc_r_at, mem_alloc_w_at): Advance logical_offset.
3049         (mem_seek): Don't bother setting physical_offset.
3050
3051 2003-06-20  Paul Brook  <paul@nowt.org>
3052
3053         * libgfor.h (stop_numeric): Declare.
3054         * runtime/pause.c: New file.
3055         * Makefile.am: Add it.
3056
3057 2003-06-08  Paul Brook  <paul@nowt.org>
3058
3059         * m4/cexp.m4 (cabs): Use correct typed version.
3060         (csqrt): New function.
3061
3062 2003-06-07  Canqun Yang  <canqun@yahoo.com.cn>
3063
3064         Spotted by Benjamin and Tobias:
3065         * io/list_read.c: Add Separator '\t'.
3066         (parse_real, read_real): Accept real values starting with an optional
3067         sign follows a decimal point.
3068
3069 2003-06-06  Steven Bosscher  <steven@gcc.gnu.org>
3070
3071         * Makefile.am: Don't put cmath objects in subdir.
3072         * configure.in: Rename MATHOBJ to MATH_OBJ.
3073
3074 2003-06-02  Kejia Zhao  <Kejia_zh@yahoo.com.cn>
3075
3076         * intrinsics/associated.c: New file.
3077         * Makefile.am: Add it. Regenerate Makefile.in.
3078         * libgfor.h: Define g95_array_void, G95_DESCRIPTOR_DATA, and
3079         G95_DESCRIPTOR_DTYPE.
3080
3081 2003-06-01  Canqun Yang  <canqun@yahoo.com.cn>
3082
3083         * io/write.c (calcuate_exp): Rewrite it to avoid overflow.
3084         (calculate_G_format): Rewrite it to eliminate an infinte loop and set
3085         the scale_factor to 0 for F editing.
3086
3087 2003-05-11  Tobias Schlter  <innenminister@gmx.de>
3088
3089         * libgfor.h: Only include stdint.h if it exists.
3090
3091 2003-05-07  Paul Brook  <paul@nowt.org>
3092
3093         * libgfor.h: Use stdint.h types.
3094         * intrinsics/ishift.c: Ditto.
3095         * runtime/memory.c (malloc_t): Reorder fields for better alignment.
3096
3097 2003-05-05  Steven Bosscher  <steven@gcc.gnu.org>
3098
3099         * libgfor.h (offsetof): Define if nobody else does.
3100         * runtime/memory.c (HEADER_SIZE): Use it.
3101
3102 2003-05-01  Tobias Schlter  <innenminister@gmx.de>
3103
3104         * configure.in: Require autoconf 2.54.
3105
3106 2003-04-28  Tobias Schlter  <innenminister@gmx.de>
3107         Paul Brook  <paul@nowt.org>
3108
3109         * intrinsics/reshape_generic.c: Copy the whole element, not just the
3110         first byte.
3111         * m4/transpose.m4: New file.
3112         * Makefile.am: Add them.
3113         Regenerate generated files.
3114
3115 2003-04-18  Steven Bosscher  <steven@gcc.gnu.org>
3116
3117         * io/format.c (parse_format_list): Allow 'X' without integer
3118         prefix.  This is an extension.  Interpretation is '1X'.
3119
3120 2003-04-18  Tobias Schlter  <Tobias.Schlueter@physik.uni-muenchen.de>
3121
3122         * io/format.c (parse_format_list): Allow '0P'.
3123
3124 2003-04-18  Steven Bosscher  <steven@gcc.gnu.org>
3125
3126         * Makefile.in: Re-regenerate for automake 1.7.3.
3127
3128 2003-04-18  Canqun Yang  <canqun@yahoo.com.cn>
3129
3130         Port implementation for CHARACTER SELECT from Andy's tree.
3131         * runtime/select.c: New file
3132         * Makefile.am: Add it.
3133         * Makefile.in: Regenerate.
3134
3135 2003-04-17  Xiaoqiang Zhang <zhangapache@yahoo.com>
3136
3137         * io/transfer.c (formatted_transfer): Modified
3138         * io/unix.c (move_pos_offset): New Function.
3139         * io/format.c (parse_format_list): Modified.
3140
3141 2003-04-15  Xiaoqiang Zhang <zhangapache@yahoo.com>
3142
3143         * io/write.c (write_float,write_real): New implemention of
3144         FMT_G and default float editing.
3145         (calculate_exp,calculate_G_format,output_float): New Function.
3146         (write_float,write_real,write_logical): Modified
3147         * libgfor.h (default_rtoa): Remove Declaration.
3148         * runtime/error.c (default_rtoa): Remove Function.
3149
3150 2003-04-15  Steven Bosscher  <steven@gcc.gnu.org>
3151
3152         Spotted by Yang:
3153         * io/write.c (extract_real): Add missing break statement.
3154
3155 2003-04-13  Steven Bosscher  <steven@gcc.gnu.org>
3156
3157         * cpu_time.c: Make sure we have a definition of HZ.  Don't
3158         rely on CLOCKS_PER_SEC, it is always 1000000, on any system.
3159
3160 2003-04-13  Steven Bosscher  <steven@gcc.gnu.org>
3161             Paul Brook  <paul@nowt.org>
3162
3163         * configure.in: Check for process time headers and GETTIMEOFDAY.
3164         * makefile.am: Add intrinsics/cpu_time.c.
3165         * acinclude.m4: New file.
3166         * intrinsics/cpu_time.c: New file.
3167         * m4/dotprodl.m4: Fix typo.
3168         Regenerate generated files.
3169
3170 2003-04-11  Xiaoqiang Zhang <zhangapache@yahoo.com>
3171
3172         * io/write.c (extract_real): Ouput floating point value.
3173         (write_float): New Function.
3174         (write_e, write_f, write_en, write_es): Modified
3175         * io/transfer.c (formatted_transfer): Modified.
3176         * libgfor.h (default_rtoa): Declaration.
3177         (rtoa): Declaration.
3178         * runtime/error.c (default_rtoa): New Function.
3179         (rtoa): New Function.
3180
3181 2003-04-05  Paul Brook  <paul@nowt.org>
3182
3183         * intrinsics/spread_generic.c: New file.
3184         * Makefile.am: Add it. Regenerate Makefile.in.
3185
3186 2003-03-29  Paul Brook  <paul@nowt.org>
3187
3188         * intrinsics/pack_generic.c: New file.
3189         * intrinsics/unpack_generic.c: New file.
3190         * Makefile.am: Add them. Regenerate Makefile.in.
3191
3192 2003-03-25  Paul Brook  <paul@nowt.org>
3193
3194         * intrinsics/eoshift0.c: New file.
3195         * intrinsics/eoshift2.c: New file.
3196         * m4/eoshift1.m4: New file.
3197         * m4/eoshift3.m4: New file.
3198         * Makefile.am: Add them.
3199         * in_unpack_generic.c: Initialize src.
3200         Regenerate generated files.
3201
3202 2003-03-14  Paul Brook  <paul@nowt.org>
3203
3204         * m4/shape.m4: Work properly with array temporaries.
3205         * m4/in_pack.m4: Skip redundant checks for array temporaries.
3206         * runtime/in_pack_generic.c: Ditto.
3207
3208 2003-03-12  Paul Brook  <paul@nowt.org>
3209
3210         * m4/shape.m4: Work properly with noncontiguous arrays.
3211
3212 2003-03-08  Paul Brook  <paul@nowt.org>
3213
3214         * m4/in_pack.m4: Correctly handle zero sized and assumed size arrays.
3215         * runtime/in_pack_generic.c: Ditto.
3216
3217 2003-02-08  Paul Brook  <paul@nowt.org>
3218
3219         * intrinsics/reshape_generic.c: Use runtime_error to report errors.
3220         * io/close.c (st_close): Return void.
3221         * io/open.c (st_open): Return void.
3222         * libgfor.h (g95_array_char): Declare.
3223         (internal_malloc_size): Ditto.
3224         (internal_pack*, internal_unpack*): Ditto.
3225         * m4/in_pack.m4: Allocate storage if neccessary.  Fix logic for packed
3226         arrays.
3227         * m4/in_unpack.m4: Include file fixes.
3228         * m4/reshape.m4: Increment the correct source pointer.
3229         * Makefile.am (maxloc): Fix typo.
3230         * runtime/in_pack_generic.c: Call optimized functions. Allocate
3231         storage if neccessary. Fix logic for packed arrays.
3232         * runtime/in_unpack_generic.c: Call optimized functions.
3233         * runtime/main.c: Use runtime_error to report errors.
3234         * memory.c (internal_malloc_size): Make non-static.
3235
3236 2003-02-02  Arnaud Desitter  <arnaud.desitter@geography.oxford.ac.uk>
3237
3238         * reshape_packed.c, lock.c: Add #include <string.h>.
3239         * libgfor.h, format.c, inquire.c, io.h, transfer.c, unix.c,
3240         environ.c, error.c, memory.c, string.c: Add const.
3241         * error.c (show_locus): Add void.
3242
3243 2003-02-21  Paul Brook  <paul@nowt.org>
3244
3245         * m4/in_pack.m4: Avoid returning const * parameter.
3246         * Makefile.am: Only regenerate files in maintainer mode.
3247
3248 2003-02-20  Paul Brook  <paul@nowt.org>
3249
3250         Add array repacking support functions.
3251         * m4/in_pack.m4, m4/in_unpack.m4: New files.
3252         * runtime/in_pack_generic.c, runtime/in_unpack_generic.c: New files.
3253         * Makefile.am: Build them.  Regenerate configury files.
3254         * generated/: New directory for generated files (need to move
3255         everything else there).
3256
3257 2003-02-07  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3258
3259         * m4/cexp.m4: Fix typo.
3260
3261 2003-01-26  Paul Brook  <paul@nowt.org>
3262
3263         * intrinsics/: Add missing generated files.
3264
3265 2003-01-26  Paul Brook  <paul@nowt.org>
3266
3267         * Makefile.am: Put -I before the filename.
3268
3269 2003-01-24  Paul Brook  <paul@nowt.org>
3270
3271         * configure.in: Add AM_MAINTAINER_MODE.
3272
3273 2003-01-23  Paul Brook  <paul@nowt.org>
3274
3275         * configure.in, Makefile.am: Modify to work with unmodified autoconf
3276         and auotmake.
3277         Also regenerate other configury files.
3278
3279 2003-01-21  Paul Brook  <paul@nowt.org>
3280
3281         * io/read.c: Don't use stdint.h, it doesn't exist on cygwin.
3282
3283 2003-01-20  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3284
3285         * io/read.c (read_f): Don't use alloca, but safe get_mem instead.
3286         Don't include "alloca.h".
3287
3288 2003-01-20  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3289
3290         * intrinsics/string.c: Rename to intrinsics/string_intrinsics.c.
3291         * Makefile.am: Adjust file name.
3292         * Makefile.in: Regenerate.
3293         * gfortypes.h: Kill, include everything in...
3294         * libgfor.h: ...here.  Include config.h
3295         * fmain.c, intrinsics/ishftc.c, intrinsic/reshape_generic.c,
3296         intrinsics/reshape_i4.c, intrinsics/reshape_i8.c,
3297         intrinsics/reshape_packed.c, intrinsics/size.c,
3298         m4/reshape.m4, runtime/main.c, runtime/memory.c: Use macro
3299         for prefix for all functions instead of hardcoded.
3300
3301 2003-01-19  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3302
3303         * io/lock.c (library_end): Propagate library return
3304         code.
3305
3306 2003-01-19  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3307
3308         Port fixes from Andy's tree:
3309         * io/read.c (read_decimal): Reverse sense of overflow
3310         comparison during integer reads.
3311         * io/format.c (revert): Fix comment.
3312         (next_format): Fix format revision.
3313         * io/unix.c: Fix and simplify mmap version of stream
3314         functions.
3315
3316 2003-01-11  Paul Brook  <paul@nowt.org>
3317
3318         * configure, Makefile.in: Regenerate.
3319
3320 2003-01-11  Paul Brook  <paul@nowt.org>
3321
3322         * runtime/stop.c: Rewrite.
3323
3324 2003-01-08  Paul Brook  <paul@nowt.org>
3325
3326         * configure, Makefile.in: Regenerate.
3327
3328 2003-01-05  Paul Brook  <paul@nowt.org>
3329
3330         * (*.m4) Move to m4/.
3331         * intrinsics/string.c (_gfor_string_index): New Function.
3332
3333 2002-12-29  Paul Brook  <paul@nowt.org>
3334
3335         * intrinsics/reshape.*: New files.
3336         * gcc_config.patch: Update to new GCC configure system.
3337
3338 2002-10-10  Paul Brook  <paul@nowt.org>
3339
3340         * intrinsics/size.c: New file.
3341         * intrinsics/shape.m4: New file.
3342         * Makefile.am: Add above files.
3343
3344 2002-10-02  Paul Brook  <paul@nowt.org>
3345
3346         * fmain.c (main): Move here.
3347         * libgfor.c: From here.
3348         * libgfor.h (gfor_init, gfor_runtime_cleanup): Declare.
3349         * Makefile.am: Build libgforbegin.
3350         * gcc_config.patch: Remove stray -march=athlon.
3351         * dotprodl.m4: Fix use of L8_TO_L4 macro.
3352         * ifunction.m4: Move variable declarations to allow compilation with
3353         gcc < 3.0
3354         * specific.m4, specific4.m4: Fix typo typecode->type_code.
3355         * README: Document use of patch -p1.
3356
3357 2002-09-12  Paul Brook  <paul@nowt.org>
3358
3359         * math/*: Add complex math library functions.
3360         * intrinsics/specific(2).m4: Generate Specific intrinsic functions.
3361         * Makefile.am: Add details for above.
3362         * configure.in: Use AC_PROG_F95.  Test for the presence of csin.
3363
3364 2002-09-09  Paul Brook  <paul@nowt.org>
3365
3366         * libgfor.c (determine_endianness): Use an array rather than a struct.
3367         * intrinsics/dotprod*, matmul*: Implement DOT_PRODUCT and MATMUL.
3368
3369 2002-09-09  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3370
3371         * libgfor.c: Add fatal signal handler.
3372         Romove superfluous abort() calls.
3373
3374 2002-09-07  Paul Brook <paul@nowt.org>
3375
3376         * Makefile.am, intrinsics: Major rewrite.
3377
3378 2002-09-02  Paul Brook <paul@nowt.org>
3379
3380         * Makefile.am: Added -I$(srcdir) to m4 rule.
3381
3382 2002-08-30  Paul Brook <paul@nowt.org>
3383
3384         * io/*: Integrated libgforio.
3385         * Makefile.am, configure.in: Make compatable with GCC. Build code for
3386         intrinsics in the intrisics directory.
3387         * intrinsics/intrinsics.m4: Move here. Strip directories from the
3388         filename. Add 'and' and 'all' intrinsics.
3389
3390 2002-08-17  Paul Brook <paul@nowt.org>
3391
3392         * ALL: First release as more than just a single file